pax_global_header 0000666 0000000 0000000 00000000064 14603721467 0014524 g ustar 00root root 0000000 0000000 52 comment=ec4295acfba80d61b36f2414487375543d9ffbea django-split-settings-1.3.1/ 0000775 0000000 0000000 00000000000 14603721467 0015757 5 ustar 00root root 0000000 0000000 django-split-settings-1.3.1/.editorconfig 0000664 0000000 0000000 00000000421 14603721467 0020431 0 ustar 00root root 0000000 0000000 # Check http://editorconfig.org for more information # This is the main config file for this project: root = true [*] charset = utf-8 trim_trailing_whitespace = true end_of_line = lf indent_style = space insert_final_newline = true indent_size = 2 [*.py] indent_size = 4 django-split-settings-1.3.1/.github/ 0000775 0000000 0000000 00000000000 14603721467 0017317 5 ustar 00root root 0000000 0000000 django-split-settings-1.3.1/.github/dependabot.yml 0000664 0000000 0000000 00000000627 14603721467 0022154 0 ustar 00root root 0000000 0000000 version: 2 updates: - package-ecosystem: pip directory: "/" schedule: interval: weekly time: "02:00" open-pull-requests-limit: 10 - package-ecosystem: pip directory: "/docs" schedule: interval: daily time: "02:00" open-pull-requests-limit: 10 - package-ecosystem: github-actions directory: "/" schedule: interval: daily time: "02:00" open-pull-requests-limit: 10 django-split-settings-1.3.1/.github/workflows/ 0000775 0000000 0000000 00000000000 14603721467 0021354 5 ustar 00root root 0000000 0000000 django-split-settings-1.3.1/.github/workflows/test.yml 0000664 0000000 0000000 00000002600 14603721467 0023054 0 ustar 00root root 0000000 0000000 name: test on: push: branches: - master pull_request: workflow_dispatch: jobs: build: runs-on: ubuntu-latest strategy: fail-fast: false matrix: python-version: ['3.10', '3.11', '3.12'] django-version: - 'Django~=4.2.0' - 'Django~=5.0.0' include: - python-version: '3.9' django-version: 'Django~=4.1.0' - python-version: '3.12' django-version: 'Django~=4.1.0' steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install poetry run: | curl -sSL "https://install.python-poetry.org" | python # Adding `poetry` to `$PATH`: echo "$HOME/.poetry/bin" >> $GITHUB_PATH - name: Install dependencies run: | poetry run pip install --upgrade pip setuptools poetry install poetry run pip install --upgrade "${{ matrix.django-version }}" - name: Run tests run: | poetry run flake8 . poetry run mypy split_settings poetry run pytest poetry run doc8 -q docs poetry check poetry run pip check - name: Upload coverage to Codecov uses: codecov/codecov-action@v4 with: file: ./coverage.xml django-split-settings-1.3.1/.gitignore 0000664 0000000 0000000 00000002555 14603721467 0017756 0 ustar 00root root 0000000 0000000 #### joe made this: https://goel.io/joe #####=== Python ===##### # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] .mypy_cache/ # C extensions *.so # Distribution / packaging .Python env/ build/ develop-eggs/ dist/ downloads/ eggs/ lib/ .eggs/ lib64/ parts/ sdist/ var/ *.egg-info/ .installed.cfg *.egg # PyInstaller # Usually these files are written by a python script from a template # before PyInstaller builds the exe, so as to inject date/other infos into it. *.manifest *.spec # Installer logs pip-log.txt pip-delete-this-directory.txt # Unit test / coverage reports htmlcov/ .tox/ .coverage .cache nosetests.xml coverage.xml # Translations *.mo *.pot # Django stuff: *.log # Sphinx documentation docs/_build/ # PyBuilder target/ #####=== OSX ===##### .DS_Store .AppleDouble .LSOverride # Icon must end with two \r Icon # Thumbnails ._* # Files that might appear on external disk .Spotlight-V100 .Trashes # Directories potentially created on remote AFP share .AppleDB .AppleDesktop Network Trash Folder Temporary Items .apdisk #####=== Windows ===##### # Windows image file caches Thumbs.db ehthumbs.db # Folder config file Desktop.ini # Recycle Bin used on file shares $RECYCLE.BIN/ # Windows Installer files *.cab *.msi *.msm *.msp # Windows shortcuts *.lnk #####=== Custom ===##### # Temporary files: *~ # IDEs: .idea/ # Test database: *.db django-split-settings-1.3.1/.readthedocs.yml 0000664 0000000 0000000 00000001116 14603721467 0021044 0 ustar 00root root 0000000 0000000 # .readthedocs.yml version: 2 # Set the version of Python and other tools you might need build: os: ubuntu-20.04 tools: python: "3.9" jobs: pre_create_environment: - asdf plugin add poetry - asdf install poetry latest - asdf global poetry latest - poetry config virtualenvs.create false post_install: - . "$(pwd | rev | sed 's/stuokcehc/svne/' | rev)/bin/activate" && poetry install --only main --only docs # Build documentation in the docs/ directory with Sphinx sphinx: configuration: docs/conf.py fail_on_warning: true formats: all django-split-settings-1.3.1/CHANGELOG.md 0000664 0000000 0000000 00000007163 14603721467 0017577 0 ustar 00root root 0000000 0000000 # Version history We follow Semantic Version. ## 1.3.1 ### Bugfixes - Fixes getting the last stack item performance #532 ## 1.3.0 ### Features - Drops `python3.8` support - Adds `python3.11` and `python3.12` support - Adds `django5.0` support - Uses `OSError` instead of `IOError` alias - Converts `include(*args, **kwargs)` to `include(*args, scope=...)`, because other kwargs were not supported anyway ## 1.2.0 ### Features - Adds `python3.10` support - Drops `python3.6` support - Adds `django4.1` support ## 1.1.0 ### Features - Adds `python3.9` support - Adds `django3.1` support ### Misc - Moves to Github Actions ## 1.0.1 ### Bugfixes - Fixes that django's dev server was not catching split setting filechanges ## 1.0.0 Breaking changes: - Drops `python2` support - Drops `django2.0` support Improvements: - Moves to `poetry` - Adds `mypy` support - Adds `wemake-python-styleguide` support - Adds extra CI checks: `safety`, `doc8` - Adds `py.typed` file to package type information ## 0.3.1 Improvements: - Added support for django till to 2.2 version. ## 0.3.0 Improvements: - Added `Django==2.0` - Removed old versions of `Django` from test matrix - Removed `python3.4` from test matrix - Documentation updates - Adds more `flake8` plugins to enforce strict style Bugs: - Fixes Windows problems via [#21](https://github.com/sobolevn/django-split-settings/pull/21) ## 0.2.5 Improvements: - Added `python3.6` and `Django==1.11` - Fixed `tests/settings` structure with `basic/` folder - Added documentation, which is built with `Sphinx` - Updated `README.rst` with new logo - Updated `README.rst` with `docs` badge - Updated `CONTRIBUTING.rst` with new information Bugs: - Updated `README.rst` to be compatible with `PyPI` ## 0.2.4 - Changed the default Django version in the requirements from `>= 1.5.1` to `>= 1.5` - Added `setup.cfg` to support `python setup.py test` command - Refactored how the tests work - Added `tests/conftest.py` file with the fixtures, used fixtures widely - Changed all test to be functions instead of classes - Added new classifiers - Added `pytest-env` to read env variables from `setup.cfg` - Removed `run_coveralls.py`, added `after_success` section in `.travis.yml` - Changed the `README.rst` to be shorter ## 0.2.3 - Added `django@1.10` support - Now `include` function finds parent `globals()` scope automatically if not provided - Added protection against infinite recursion - Added tests for stackable settings definition. See `tests/settings/stacked/` - Added tests for the new functionality - Added tests for `django@1.10` in `tox` and `travis` - Removed `3.2` and `3.3` from `setup.py` since these versions were not tested anyway ## 0.2.2 - Now supporting `unicode` filenames, fixes [#9](https://github.com/sobolevn/django-split-settings/issues/9) - Tests structure is changed - Removed example - Changed how `MANIFEST.in` is defined ## 0.2.1 - Changed `optional` to be a function. - Added `test_tools.py`, achieved 100% in coverage. - Removed `setuptools-git` from `setup.py`, now `Manifest` is only way to provide `dist` sources. - Added `run_coveralls.py` to work on both `CI` and local tests. - Style fixes. ## 0.2.0 - Now `tox` is used for testing. - Added `coverage` information and badge. - Removed `pep8` utility, now using `pylint`. ## 0.1.3 - Python 3.5 support, Django 1.9 test-support, documentation updates. ## 0.1.2 - Fixed Python 3 compatibility. Fixed [#7](https://github.com/sobolevn/django-split-settings/issues/7). ## 0.1.1 - Fixed issue [#1](https://github.com/sobolevn/django-split-settings/issues/1): now works with Gunicorn, too ## 0.1.0 - Initial version django-split-settings-1.3.1/CONTRIBUTING.md 0000664 0000000 0000000 00000004112 14603721467 0020206 0 ustar 00root root 0000000 0000000 # How to contribute ## Dependencies We use [poetry](https://github.com/sdispater/poetry) to manage the dependencies. To install them you would need to run `install` command: ```bash poetry install ``` To activate your `virtualenv` run `poetry shell`. ## Tests We use `pytest` and `flake8` for quality control. We also use `wemake_python_styleguide` itself to develop `wemake_python_styleguide`. To run all tests: ```bash pytest ``` To run linting: ```bash flake8 . ``` These steps are mandatory during the CI. ## Type checks We use `mypy` to run type checks on our code. To use it: ```bash mypy django_split_settings ``` This step is mandatory during the CI. ## Submitting your code We use [trunk based](https://trunkbaseddevelopment.com/) development (we also sometimes call it `wemake-git-flow`). What the point of this method? 1. We use protected `master` branch, so the only way to push your code is via pull request 2. We use issue branches: to implement a new feature or to fix a bug create a new branch named `issue-$TASKNUMBER` 3. Then create a pull request to `master` branch 4. We use `git tag`s to make releases, so we can track what has changed since the latest release So, this way we achieve an easy and scalable development process which frees us from merging hell and long-living branches. In this method, the latest version of the app is always in the `master` branch. ### Before submitting Before submitting your code please do the following steps: 1. Run `pytest` to make sure everything was working before 2. Add any changes you want 3. Add tests for the new changes 4. Edit documentation if you have changed something significant 5. Update `CHANGELOG.md` with a quick summary of your changes 6. Run `pytest` again to make sure it is still working 7. Run `mypy` to ensure that types are correct 8. Run `flake8` to ensure that style is correct ## Other help You can contribute by spreading a word about this library. It would also be a huge contribution to write a short article on how you are using this project. You can also share your best practices with us. django-split-settings-1.3.1/LICENSE 0000664 0000000 0000000 00000002777 14603721467 0017001 0 ustar 00root root 0000000 0000000 Copyright (c) 2013, 2General Oy All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of django-split-settings nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. django-split-settings-1.3.1/README.md 0000664 0000000 0000000 00000011536 14603721467 0017244 0 ustar 00root root 0000000 0000000