pax_global_header 0000666 0000000 0000000 00000000064 13754700231 0014514 g ustar 00root root 0000000 0000000 52 comment=8c3b7140d4c9dab4600cb30acd61430dbf29ca6b django-split-settings-1.1.0/ 0000775 0000000 0000000 00000000000 13754700231 0015744 5 ustar 00root root 0000000 0000000 django-split-settings-1.1.0/.editorconfig 0000664 0000000 0000000 00000000421 13754700231 0020416 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.1.0/.github/ 0000775 0000000 0000000 00000000000 13754700231 0017304 5 ustar 00root root 0000000 0000000 django-split-settings-1.1.0/.github/FUNDING.yml 0000664 0000000 0000000 00000000131 13754700231 0021114 0 ustar 00root root 0000000 0000000 # These are supported funding model platforms patreon: sobolevn github: wemake-services django-split-settings-1.1.0/.github/workflows/ 0000775 0000000 0000000 00000000000 13754700231 0021341 5 ustar 00root root 0000000 0000000 django-split-settings-1.1.0/.github/workflows/misspell.yml 0000664 0000000 0000000 00000000633 13754700231 0023716 0 ustar 00root root 0000000 0000000 name: misspell on: workflow_dispatch: schedule: - cron: '0 0 * * *' jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: sobolevn/misspell-fixer-action@0.1.0 - uses: peter-evans/create-pull-request@v3 with: token: ${{ secrets.GITHUB_TOKEN }} commit-message: 'Fixes by misspell-fixer' title: 'Typos fix by misspell-fixer' django-split-settings-1.1.0/.github/workflows/test.yml 0000664 0000000 0000000 00000002712 13754700231 0023045 0 ustar 00root root 0000000 0000000 name: test on: [push, pull_request, workflow_dispatch] jobs: build: runs-on: ubuntu-latest strategy: matrix: python-version: [3.6, 3.7, 3.8, 3.9] django-version: - 'Django~=1.11.0' - 'Django~=2.2.0' - 'Django~=3.0.0' - 'Django~=3.1.0' continue-on-error: [false] steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Install poetry run: | curl -sSL \ "https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py" | python - echo "${HOME}/.poetry/bin" >> $GITHUB_PATH - name: Set up cache uses: actions/cache@v1 with: path: .venv key: venv-${{ matrix.python-version }}-${{ hashFiles('poetry.lock') }} - name: Install dependencies run: | poetry config virtualenvs.in-project true poetry install poetry run pip install -U "${{ 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 poetry run safety check --full-report - name: Upload coverage to Codecov uses: codecov/codecov-action@v1 with: file: ./coverage.xml django-split-settings-1.1.0/.gitignore 0000664 0000000 0000000 00000002555 13754700231 0017743 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.1.0/CHANGELOG.md 0000664 0000000 0000000 00000006226 13754700231 0017563 0 ustar 00root root 0000000 0000000 # Version history We follow Semantic Version. ## 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.1.0/CONTRIBUTING.md 0000664 0000000 0000000 00000004112 13754700231 0020173 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.1.0/LICENSE 0000664 0000000 0000000 00000002777 13754700231 0016766 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.1.0/README.md 0000664 0000000 0000000 00000007261 13754700231 0017231 0 ustar 00root root 0000000 0000000