{"id":21980164,"url":"https://github.com/innolitics/django-utils-lib","last_synced_at":"2026-02-02T12:10:39.309Z","repository":{"id":262366923,"uuid":"857207855","full_name":"innolitics/django-utils-lib","owner":"innolitics","description":"A bundle of useful utility functions and helpers for working with Django","archived":false,"fork":false,"pushed_at":"2025-08-06T23:00:56.000Z","size":166,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-01-13T07:45:08.498Z","etag":null,"topics":["django","pytest","pytest-xdist","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/innolitics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-14T03:43:46.000Z","updated_at":"2025-08-06T23:01:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"c53a789b-c105-4f51-8631-16ec58d26542","html_url":"https://github.com/innolitics/django-utils-lib","commit_stats":null,"previous_names":["innolitics/django-utils-lib"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/innolitics/django-utils-lib","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/innolitics%2Fdjango-utils-lib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/innolitics%2Fdjango-utils-lib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/innolitics%2Fdjango-utils-lib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/innolitics%2Fdjango-utils-lib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/innolitics","download_url":"https://codeload.github.com/innolitics/django-utils-lib/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/innolitics%2Fdjango-utils-lib/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29012280,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-02T10:37:29.253Z","status":"ssl_error","status_checked_at":"2026-02-02T10:37:28.644Z","response_time":58,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","pytest","pytest-xdist","python"],"created_at":"2024-11-29T17:09:47.930Z","updated_at":"2026-02-02T12:10:39.282Z","avatar_url":"https://github.com/innolitics.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Django Utils Lib\n\n\u003e A bundle of useful utility functions and helpers for working with Django\n\n\n## Core Features\n\n- Pytest plugin, with commonly needed items\n    - Support for automated debugpy listener\n    - Support for `requirements()` markers\n    - Support for test collection, with CSV export (including with xdist)\n- An extensible static file serving class / middleware, which has a few bells and whistles in comparison to the default `serve()` method\n- Logging utils (presets, formatters, etc.)\n- CLI / pre-built commands (see [](./django_utils_lib/commands.py))\n- CLI Utils\n\n\n## Installing and Using (as a library)\n\nWhile this project is not published on `pypi`, you can still install it in various projects by using the git origin as the source.\n\nFor example, [with Poetry](https://python-poetry.org/docs/dependency-specification/#git-dependencies), you can use:\n\n```bash\npoetry add git+https://github.com/innolitics/django-utils-lib.git#REFERENCE\n```\n\n## Pytest plugin\n\n### Pytest Plugin - Discovery / Registration\n\nThis package is not using pytests [automated entry points](https://docs.pytest.org/en/stable/how-to/writing_plugins.html#pip-installable-plugins), instead requiring that users manually opt-in to plugin usage (since you might want other utilities in this package without enabling the pytest plugin part of it).\n\nTo tell Pytest to use the plugin, the easiest way is to stick this in your highest level `.conftest.py` (aka the _root_ config):\n\n```py\npytest_plugins = [\"django_utils_lib.testing.pytest_plugin\"]\n```\n\n\n### Pytest Plugin - Configuration\n\n\u003e [!TIP]\n\u003e Note: This table was auto-generated from the source-code (and can be re-generated) via `task docs:pytest_plugin_table`\n\n| Config Key | Type | Default | Help | Env Var? |\n|------------|------|---------|------|---------------|\n| `auto_debug` | `bool` | `False` | If true, the debugpy listener will be auto-invoked on the main pytest session.\u003cbr/\u003eYou can also enable this by setting `django_utils_lib_AUTO_DEBUG` as an environment variable. | `django_utils_lib_AUTO_DEBUG`: If set to any truthy value (`bool()`), will enable auto-debugging. Unless `CI` is set to `true`. |\n| `auto_debug_wait_for_connect` | `bool` | `False` | If true, then the auto debug feature will wait for the debugger client to connect before starting tests | `django_utils_lib_AUTO_DEBUG_WAIT_FOR_CONNECT`: If set to any truthy value (`bool()`), will enable waiting for debugger client to connect. |\n| `mandate_requirement_markers` | `bool` | `False` | If true, will validate that every test has a valid `pytest.mark.requirements`, and will also capture this metadata as part of the collected test data | N/A |\n| `reporting__csv_export_path` | `string` | `None` | If set, will save the test results to a CSV file after session completion | `django_utils_lib_REPORTING__CSV_EXPORT_PATH`: If set, will save the test results to a CSV file after session completion |\n| `reporting__omit_unexecuted_tests` | `bool` | `False` | If set, will exclude tests that were collected but not executed from the test report CSV | N/A |\n\n## Development\n\nThis project uses [`task` (aka `go-task`)](https://github.com/go-task/task) for developer task management and execution. [The `Taskfile.yml` file](./Taskfile.yml) serves as a way to organize these commands, as well as a form of documentation and easy entrypoint into getting started with the project.\n\nYou can use `task --list-all` to see all available `task` commands.\n\n### Local Installation Cross-Directory\n\nIf you want to install a local development version of this library, in a different directory / project, you should be able to use the local path of the library in most standard Python package managers.\n\nFor example, this can be accomplished with Poetry with the following:\n\n```bash\npoetry add --editable ${LOCAL_PATH_TO_THIS_DIRECTORY}\n```\n\n### Publishing\n\nTBD; right now this is not published on `pypi`, but is available publicly.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finnolitics%2Fdjango-utils-lib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finnolitics%2Fdjango-utils-lib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finnolitics%2Fdjango-utils-lib/lists"}