Skip to content

Import the package as diskcache_community so it installs next to upstream diskcache instead of overwriting it - #22

Merged
avgvi merged 1 commit into
masterfrom
feat/separate-import-name
Oct 18, 2026
Merged

avgvi merged 1 commit into
masterfrom
feat/separate-import-name

Conversation

@avgvi

@avgvi avgvi commented Oct 18, 2026

Copy link
Copy Markdown
Member

Moves the package from diskcache/ to diskcache_community/, so diskcache-community installs next to the upstream diskcache distribution instead of overwriting its files. A project can now move to the fork while another dependency in the same environment still requires diskcache, which the shared package directory made impossible. The public API, the cache.db schema, the file layout and the serialization are unchanged, so cache directories are still shared with 5.6.3 in both directions.

  • git mv diskcache diskcache_community; pyproject.toml, tox.ini, the release workflow, the tests, the docstrings and the docs import diskcache_community, and Sphinx cross-references point at the new module paths. Django settings name diskcache_community.DjangoCache and diskcache_community.SafeDisk.
  • The import-time warning about an upstream diskcache dist-info next to the fork is removed, since the folders no longer collide; tests/test_init.py now checks the package identity and, when upstream is installed, that both import side by side and read each other's caches.
  • tests/golden/verify.py and make_fixtures.py use diskcache_community under pytest and the upstream wheel when run as scripts, so the golden tests still run in both directions.
  • CI: a new coexist job installs the fork and diskcache==5.6.3 together, runs the coexistence and golden tests with the reverse direction enabled, and checks that uninstalling either distribution leaves the other importable.
  • README, docs index and CONTRIBUTING describe the new import name; the compatibility contract records that it changed in 5.8.0. SECURITY.md and the README no longer promise that a later version makes SafeDisk the default, since it stays opt-in.

This is the base of #23, #24 and #25.

Verified: 397 tests pass on Python 3.12 with Django 4.2, including the golden tests in both directions against a 5.6.3 environment and the coexistence test with upstream installed; the coexist job's steps pass in a fresh environment; blue, isort, flake8, mypy, doc8 and the Sphinx build with warnings as errors pass, and pylint reports what it reports on master.

@read-the-docs-community

read-the-docs-community Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Documentation build overview

📚 diskcache-community | 🛠️ Build #35226538 | 📁 Comparing 6637c73 against latest (823b63a)

  🔍 Preview build  

7 files changed · ± 7 modified

± Modified

@avgvi
avgvi force-pushed the feat/separate-import-name branch from b3f1248 to 6637c73 Compare October 18, 2026 19:14
@avgvi
avgvi merged commit 8b65382 into master Oct 18, 2026
23 checks passed
@avgvi
avgvi deleted the feat/separate-import-name branch October 18, 2026 19:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant