Django-OCI
vsoch.github.io
What it is
Django-OCI is free, open-source software for Python developers building registries that follow the OpenContainers Distribution Specification. The Django module exposes API endpoints for pushing, pulling, and interacting with container images, and can run in a virtual environment or within a container-orchestrated registry. Installation is available through pip or a GitHub checkout and includes Django Rest Framework. Filesystem storage is the default option, intended for smaller registries without external cloud storage. Authentication uses a Docker-style OAuth 2.0 flow with username and account-token credentials plus JWT access tokens. Configuration covers URL prefixes, specification version, content types, storage, authentication, token and session expiry, request limits, and manifest-tag deletion. There is no frontend for viewing containers. Private repositories and repository ownership or contributors are not implemented. The project is described as early development, with most goals still under development. Python tests and distribution-spec conformance testing are documented. Developers are asked to consider GDPR compliance, open an issue for help, and review the project license before use.
Spec sheet
- What it does
- The Django module lets Python developers build OCI compliant registries with endpoints to push, pull, and interact with container images.Read 5 Oct 2026 · vsoch.github.io
- Purpose
- Django-OCI is an open-source registry module for Python developers using Django to build OCI-compliant registries.Read 11 Oct 2026 · vsoch.github.io
- Deployment
- It can be deployed locally in a virtual environment or as part of a container orchestrated registry.Read 5 Oct 2026 · vsoch.github.io
- API
- It provides distribution-spec API endpoints for pushing, pulling, and interacting with a registry.Read 11 Oct 2026 · vsoch.github.io
- Compliance
- The policy page encourages developers who create registries to ensure that their registries are GDPR compliant.Read 11 Oct 2026 · vsoch.github.io
- Support
- The project asks users who need help to open an issue.Read 11 Oct 2026 · vsoch.github.io
- License
- Use is governed by the project license, which users are asked to read and agree to before using the software.Read 5 Oct 2026 · vsoch.github.io
- Authentication
- Authentication uses a Docker-style OAuth 2.0 flow with username and token credentials and expiring JWT bearer tokens.Read 11 Oct 2026 · vsoch.github.io
- Authentication caution
- The documentation strongly discourages disabling authentication unless there is a specific, strong use case.Read 5 Oct 2026 · vsoch.github.io
- Client integrations
- There is no official client; the documentation describes Python Requests and the Reggie client as ways to interact with a registry.Read 11 Oct 2026 · vsoch.github.io
- Configurable controls
- Settings include token and upload-session expiration, authenticated views, request rate limits, and an option to disable manifest tag deletion.Read 11 Oct 2026 · vsoch.github.io
- Configuration
- Settings include URL prefix, authentication, spec version, allowed content types, storage backend, session and token expiry, and view rate limits.Read 5 Oct 2026 · vsoch.github.io
- Dependency
- Installation includes Django Rest Framework as a dependency.Read 5 Oct 2026 · vsoch.github.io
- Development status
- The introduction says the project is still in early development and that most stated goals remain under development.Read 11 Oct 2026 · vsoch.github.io
- Frontend limit
- The module does not provide a frontend interface for viewing containers.Read 11 Oct 2026 · vsoch.github.io
- Installation
- The package can be installed with pip or from a GitHub clone, and its documented dependency is Django REST Framework.Read 11 Oct 2026 · vsoch.github.io
- No frontend
- The project does not yet provide a frontend interface for viewing containers.Read 5 Oct 2026 · vsoch.github.io
- Not implemented
- Private repositories and repository ownership or contributors are described as not yet implemented.Read 5 Oct 2026 · vsoch.github.io
- Privacy guidance
- The policy page encourages registry developers to ensure their registries are GDPR compliant.Read 5 Oct 2026 · vsoch.github.io
- Repository privacy
- Private repositories and contributor ownership are described as planned model features that are not yet implemented.Read 11 Oct 2026 · vsoch.github.io
- Security setting
- Authentication can be disabled, but the documentation strongly discourages doing so except for a specific strong use case.Read 11 Oct 2026 · vsoch.github.io
- Storage
- Filesystem is the currently supported default storage backend, intended for smaller registries that cannot use an external resource such as cloud storage.Read 11 Oct 2026 · vsoch.github.io
- Testing
- The project provides Python tests and documents conformance testing through the OpenContainers distribution-spec repository.Read 5 Oct 2026 · vsoch.github.io
Plans and prices
Strong points and limits
Strong points
- Implements OCI distribution API endpoints
- Installs as a Python package
- Supports OAuth 2.0 and JWT tokens
- Configures expiry and request limits
- Free and open source
Limits
- No frontend for viewing containers
- Private repositories are not implemented
- Repository ownership and contributors are missing
- Project remains in early development
Who it suits
It suits Python developers who need to deploy a self-hosted, API-based OCI registry and can work with an early-stage project. Smaller registries may fit the default filesystem storage model.
Verdict
Django-OCI provides a configurable foundation for self-hosted OCI registries rather than a complete hosted product. Its API, authentication, and storage controls are useful for developers comfortable managing an unfinished project.
Where Specifiction places it
- Container Registries#4 of 608.6