Skip to content

🧹 Internal refactors... keeping modules minimal #116

Open

Description

@lovelydinosaur

Current source file line counts...

$ wc -l ./src/hip/*
      37 ./src/hip/__init__.py
      92 ./src/hip/_body.py
     182 ./src/hip/_client.py
     216 ./src/hip/_connection.py
     568 ./src/hip/_content.py
     203 ./src/hip/_headers.py
     215 ./src/hip/_network.py
     533 ./src/hip/_parsers.py
     100 ./src/hip/_pool.py
      83 ./src/hip/_request.py
     173 ./src/hip/_response.py
     121 ./src/hip/_server.py
     139 ./src/hip/_streams.py
      52 ./src/hip/_timeouts.py
      73 ./src/hip/_urlencode.py
     533 ./src/hip/_urlparse.py
     541 ./src/hip/_urls.py
       6 ./src/hip/backends.py
       6 ./src/hip/parsers.py
      10 ./src/hip/transports.py
    3883 total

Let's try and keep each individual part of this reasonably small...

  • Split the implementation for QueryParams into separate source files, adding _queryparams.py
  • Split the implementation for Form, Multipart, File and Files into separate source files, adding _forms.py.
  • Use module for backends/...
    • backends/sync.py
  • Use module for transports/...
    • transports/base.py
    • transports/pool.py
    • transports/connection.py
  • Use module for parsers/...
    • parsers/http.py
    • parsers/readahead.py

Activity

  1. changed the title [-]Internal refactor... URL and QueryParams[/-] [+]Internal refactors... keeping modules minimal[/+] on Oct 22, 2026
  2. cgl commented on Oct 23, 2026

    @cgl
    Collaborator

    +1 on using modules.

  3. self-assigned this
    on Oct 23, 2026
  4. changed the title [-]Internal refactors... keeping modules minimal[/-] [+]🧹 Internal refactors... keeping modules minimal[/+] on Oct 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

sprint candidateCould make for a good code sprint task

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions