csu 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. csu-1.0.0/.bumpversion.cfg +24 -0
  2. csu-1.0.0/.cookiecutterrc +47 -0
  3. csu-1.0.0/.coveragerc +16 -0
  4. csu-1.0.0/.editorconfig +20 -0
  5. csu-1.0.0/.github/workflows/github-actions.yml +83 -0
  6. csu-1.0.0/.gitignore +74 -0
  7. csu-1.0.0/.pre-commit-config.yaml +29 -0
  8. csu-1.0.0/AUTHORS.rst +5 -0
  9. csu-1.0.0/CHANGELOG.rst +8 -0
  10. csu-1.0.0/CONTRIBUTING.rst +85 -0
  11. csu-1.0.0/LICENSE +10 -0
  12. csu-1.0.0/MANIFEST.in +21 -0
  13. csu-1.0.0/PKG-INFO +100 -0
  14. csu-1.0.0/README.rst +101 -0
  15. csu-1.0.0/ci/bootstrap.py +83 -0
  16. csu-1.0.0/ci/requirements.txt +6 -0
  17. csu-1.0.0/ci/templates/.github/workflows/github-actions.yml +69 -0
  18. csu-1.0.0/pyproject.toml +55 -0
  19. csu-1.0.0/pytest.ini +36 -0
  20. csu-1.0.0/setup.cfg +4 -0
  21. csu-1.0.0/setup.py +78 -0
  22. csu-1.0.0/src/csu/__init__.py +5 -0
  23. csu-1.0.0/src/csu/admin.py +116 -0
  24. csu-1.0.0/src/csu/conf.py +19 -0
  25. csu-1.0.0/src/csu/consts.py +70 -0
  26. csu-1.0.0/src/csu/drf/__init__.py +0 -0
  27. csu-1.0.0/src/csu/drf/auth.py +71 -0
  28. csu-1.0.0/src/csu/drf/fields.py +203 -0
  29. csu-1.0.0/src/csu/drf/forms.py +65 -0
  30. csu-1.0.0/src/csu/drf/phonenumber.py +51 -0
  31. csu-1.0.0/src/csu/drf/serializers.py +108 -0
  32. csu-1.0.0/src/csu/drf/test_fields.py +149 -0
  33. csu-1.0.0/src/csu/drf/test_forms.py +62 -0
  34. csu-1.0.0/src/csu/drf/test_phonenumber.py +43 -0
  35. csu-1.0.0/src/csu/drf/views.py +63 -0
  36. csu-1.0.0/src/csu/enums.py +11 -0
  37. csu-1.0.0/src/csu/env.py +43 -0
  38. csu-1.0.0/src/csu/exceptions.py +99 -0
  39. csu-1.0.0/src/csu/fixups.py +4 -0
  40. csu-1.0.0/src/csu/forms.py +35 -0
  41. csu-1.0.0/src/csu/gettext.py +9 -0
  42. csu-1.0.0/src/csu/gettext_lazy.py +9 -0
  43. csu-1.0.0/src/csu/locale/ro/LC_MESSAGES/django.mo +0 -0
  44. csu-1.0.0/src/csu/locale/ro/LC_MESSAGES/django.po +150 -0
  45. csu-1.0.0/src/csu/logging.py +108 -0
  46. csu-1.0.0/src/csu/models.py +110 -0
  47. csu-1.0.0/src/csu/routers.py +15 -0
  48. csu-1.0.0/src/csu/service.py +315 -0
  49. csu-1.0.0/src/csu/templates/api_exception.html +20 -0
  50. csu-1.0.0/src/csu/test_consts.py +22 -0
  51. csu-1.0.0/src/csu/test_service.py +10 -0
  52. csu-1.0.0/src/csu/test_timezones.py +40 -0
  53. csu-1.0.0/src/csu/test_utils.py +60 -0
  54. csu-1.0.0/src/csu/test_xml.py +163 -0
  55. csu-1.0.0/src/csu/timezones.py +80 -0
  56. csu-1.0.0/src/csu/utils.py +63 -0
  57. csu-1.0.0/src/csu/views.py +154 -0
  58. csu-1.0.0/src/csu/worker/__init__.py +3 -0
  59. csu-1.0.0/src/csu/worker/admin.py +181 -0
  60. csu-1.0.0/src/csu/worker/asgi.py +36 -0
  61. csu-1.0.0/src/csu/worker/engine.py +284 -0
  62. csu-1.0.0/src/csu/worker/enums.py +13 -0
  63. csu-1.0.0/src/csu/worker/job.py +18 -0
  64. csu-1.0.0/src/csu/worker/models.py +172 -0
  65. csu-1.0.0/src/csu/worker/registry.py +22 -0
  66. csu-1.0.0/src/csu/wsgi.py +40 -0
  67. csu-1.0.0/src/csu/xml.py +155 -0
  68. csu-1.0.0/src/csu.egg-info/PKG-INFO +100 -0
  69. csu-1.0.0/src/csu.egg-info/SOURCES.txt +76 -0
  70. csu-1.0.0/src/csu.egg-info/dependency_links.txt +1 -0
  71. csu-1.0.0/src/csu.egg-info/not-zip-safe +1 -0
  72. csu-1.0.0/src/csu.egg-info/requires.txt +11 -0
  73. csu-1.0.0/src/csu.egg-info/top_level.txt +1 -0
  74. csu-1.0.0/tests/testproject/__init__.py +0 -0
  75. csu-1.0.0/tests/testproject/fixtures/testuser.json +1 -0
  76. csu-1.0.0/tests/testproject/settings.py +59 -0
  77. csu-1.0.0/tests/testproject/urls.py +8 -0
  78. csu-1.0.0/tox.ini +95 -0
@@ -0,0 +1,24 @@
1
+ [bumpversion]
2
+ current_version = 1.0.0
3
+ commit = True
4
+ tag = True
5
+
6
+ [bumpversion:file:setup.py]
7
+ search = version="{current_version}"
8
+ replace = version="{new_version}"
9
+
10
+ [bumpversion:file (badge):README.rst]
11
+ search = /v{current_version}.svg
12
+ replace = /v{new_version}.svg
13
+
14
+ [bumpversion:file (link):README.rst]
15
+ search = /v{current_version}...main
16
+ replace = /v{new_version}...main
17
+
18
+ [bumpversion:file:src/csu/__init__.py]
19
+ search = __version__ = "{current_version}"
20
+ replace = __version__ = "{new_version}"
21
+
22
+ [bumpversion:file:.cookiecutterrc]
23
+ search = version: {current_version}
24
+ replace = version: {new_version}
@@ -0,0 +1,47 @@
1
+ # Generated by cookiepatcher, a small shim around cookiecutter (pip install cookiepatcher)
2
+
3
+ default_context:
4
+ c_extension_optional: 'no'
5
+ c_extension_support: 'no'
6
+ codacy: 'yes'
7
+ codacy_projectid: '[Get ID from https://app.codacy.com/gh/ionelmc/python-csu/settings]'
8
+ codeclimate: 'no'
9
+ codecov: 'yes'
10
+ command_line_interface: 'no'
11
+ command_line_interface_bin_name: csu
12
+ coveralls: 'yes'
13
+ distribution_name: csu
14
+ email: contact@ionelmc.ro
15
+ formatter_quote_style: double
16
+ full_name: Ionel Cristian Mărieș
17
+ function_name: compute
18
+ github_actions: 'yes'
19
+ github_actions_osx: 'no'
20
+ github_actions_windows: 'no'
21
+ license: BSD 2-Clause License
22
+ module_name: core
23
+ package_name: csu
24
+ pre_commit: 'yes'
25
+ project_name: CSU
26
+ project_short_description: Clean Slate Utils - bunch of utility code, mostly Django/DRF specific.
27
+ pypi_badge: 'yes'
28
+ pypi_disable_upload: 'no'
29
+ release_date: today
30
+ repo_hosting: github.com
31
+ repo_hosting_domain: github.com
32
+ repo_main_branch: main
33
+ repo_name: python-csu
34
+ repo_username: ionelmc
35
+ scrutinizer: 'yes'
36
+ setup_py_uses_setuptools_scm: 'no'
37
+ sphinx_docs: 'no'
38
+ sphinx_docs_hosting: https://python-csu.readthedocs.io/
39
+ sphinx_doctest: 'no'
40
+ sphinx_theme: furo
41
+ test_matrix_separate_coverage: 'no'
42
+ tests_inside_package: 'yes'
43
+ version: 1.0.0
44
+ version_manager: bump2version
45
+ website: https://blog.ionelmc.ro
46
+ year_from: '2024'
47
+ year_to: '2024'
csu-1.0.0/.coveragerc ADDED
@@ -0,0 +1,16 @@
1
+ [paths]
2
+ source =
3
+ src
4
+ */site-packages
5
+
6
+ [run]
7
+ branch = true
8
+ source =
9
+ csu
10
+ tests
11
+ parallel = true
12
+
13
+ [report]
14
+ show_missing = true
15
+ precision = 2
16
+ omit = *migrations*
@@ -0,0 +1,20 @@
1
+ # see https://editorconfig.org/
2
+ root = true
3
+
4
+ [*]
5
+ # Use Unix-style newlines for most files (except Windows files, see below).
6
+ end_of_line = lf
7
+ trim_trailing_whitespace = true
8
+ indent_style = space
9
+ insert_final_newline = true
10
+ indent_size = 4
11
+ charset = utf-8
12
+
13
+ [*.{bat,cmd,ps1}]
14
+ end_of_line = crlf
15
+
16
+ [*.{yml,yaml}]
17
+ indent_size = 2
18
+
19
+ [*.tsv]
20
+ indent_style = tab
@@ -0,0 +1,83 @@
1
+ name: build
2
+ on: [push, pull_request, workflow_dispatch]
3
+ jobs:
4
+ test:
5
+ name: ${{ matrix.name }}
6
+ runs-on: ${{ matrix.os }}
7
+ timeout-minutes: 30
8
+ strategy:
9
+ fail-fast: false
10
+ matrix:
11
+ include:
12
+ - name: 'check'
13
+ python: '3.11'
14
+ toxpython: 'python3.11'
15
+ tox_env: 'check'
16
+ os: 'ubuntu-latest'
17
+ - name: 'py310-dj4 (ubuntu)'
18
+ python: '3.10'
19
+ toxpython: 'python3.10'
20
+ python_arch: 'x64'
21
+ tox_env: 'py310-dj4'
22
+ os: 'ubuntu-latest'
23
+ - name: 'py310-dj5 (ubuntu)'
24
+ python: '3.10'
25
+ toxpython: 'python3.10'
26
+ python_arch: 'x64'
27
+ tox_env: 'py310-dj5'
28
+ os: 'ubuntu-latest'
29
+ - name: 'py311-dj4 (ubuntu)'
30
+ python: '3.11'
31
+ toxpython: 'python3.11'
32
+ python_arch: 'x64'
33
+ tox_env: 'py311-dj4'
34
+ os: 'ubuntu-latest'
35
+ - name: 'py311-dj5 (ubuntu)'
36
+ python: '3.11'
37
+ toxpython: 'python3.11'
38
+ python_arch: 'x64'
39
+ tox_env: 'py311-dj5'
40
+ os: 'ubuntu-latest'
41
+ - name: 'py312-dj4 (ubuntu)'
42
+ python: '3.12'
43
+ toxpython: 'python3.12'
44
+ python_arch: 'x64'
45
+ tox_env: 'py312-dj4'
46
+ os: 'ubuntu-latest'
47
+ - name: 'py312-dj5 (ubuntu)'
48
+ python: '3.12'
49
+ toxpython: 'python3.12'
50
+ python_arch: 'x64'
51
+ tox_env: 'py312-dj5'
52
+ os: 'ubuntu-latest'
53
+ steps:
54
+ - uses: actions/checkout@v4
55
+ with:
56
+ fetch-depth: 0
57
+ - uses: actions/setup-python@v5
58
+ with:
59
+ python-version: ${{ matrix.python }}
60
+ architecture: ${{ matrix.python_arch }}
61
+ - name: install dependencies
62
+ run: |
63
+ python -mpip install --progress-bar=off -r ci/requirements.txt
64
+ virtualenv --version
65
+ pip --version
66
+ tox --version
67
+ pip list --format=freeze
68
+ - name: test
69
+ env:
70
+ TOXPYTHON: '${{ matrix.toxpython }}'
71
+ run: >
72
+ tox -e ${{ matrix.tox_env }} -v
73
+ finish:
74
+ needs: test
75
+ if: ${{ always() }}
76
+ runs-on: ubuntu-latest
77
+ steps:
78
+ - uses: coverallsapp/github-action@v2
79
+ with:
80
+ parallel-finished: true
81
+ - uses: codecov/codecov-action@v3
82
+ with:
83
+ CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
csu-1.0.0/.gitignore ADDED
@@ -0,0 +1,74 @@
1
+ *.py[cod]
2
+ __pycache__
3
+
4
+ # Temp files
5
+ .*.sw[po]
6
+ *~
7
+ *.bak
8
+ .DS_Store
9
+
10
+ # C extensions
11
+ *.so
12
+
13
+ # Build and package files
14
+ *.egg
15
+ *.egg-info
16
+ .bootstrap
17
+ .build
18
+ .cache
19
+ .eggs
20
+ .env
21
+ .installed.cfg
22
+ .ve
23
+ bin
24
+ build
25
+ develop-eggs
26
+ dist
27
+ eggs
28
+ lib
29
+ lib64
30
+ parts
31
+ pip-wheel-metadata/
32
+ pyvenv*/
33
+ sdist
34
+ var
35
+ venv*/
36
+ wheelhouse
37
+
38
+ # Installer logs
39
+ pip-log.txt
40
+
41
+ # Unit test / coverage reports
42
+ .benchmarks
43
+ .coverage
44
+ .coverage.*
45
+ .pytest
46
+ .pytest_cache/
47
+ .tox
48
+ coverage.xml
49
+ htmlcov
50
+ nosetests.xml
51
+
52
+ # Translations
53
+ *.mo
54
+
55
+ # Buildout
56
+ .mr.developer.cfg
57
+
58
+ # IDE project files
59
+ *.iml
60
+ *.komodoproject
61
+ .idea
62
+ .project
63
+ .pydevproject
64
+ .vscode
65
+
66
+ # Complexity
67
+ output/*.html
68
+ output/*/index.html
69
+
70
+ # Sphinx
71
+ docs/_build
72
+
73
+ # Mypy Cache
74
+ .mypy_cache/
@@ -0,0 +1,29 @@
1
+ # To install the git pre-commit hooks run:
2
+ # pre-commit install --install-hooks
3
+ # To update the versions:
4
+ # pre-commit autoupdate
5
+ exclude: '^(\.tox|ci/templates|\.bumpversion\.cfg)(/|$)'
6
+ # Note the order is intentional to avoid multiple passes of the hooks
7
+ repos:
8
+ - repo: https://github.com/adamchainz/django-upgrade
9
+ rev: 1.22.1
10
+ hooks:
11
+ - id: django-upgrade
12
+ args: [ --target-version, "4.2" ]
13
+ - repo: https://github.com/astral-sh/ruff-pre-commit
14
+ rev: v0.7.3
15
+ hooks:
16
+ - id: ruff
17
+ args: [--fix, --exit-non-zero-on-fix, --show-fixes]
18
+ - id: ruff-format
19
+ - repo: https://github.com/rtts/djhtml
20
+ rev: 3.0.7
21
+ hooks:
22
+ - id: djhtml
23
+ entry: djhtml --tabwidth 2
24
+ - repo: https://github.com/pre-commit/pre-commit-hooks
25
+ rev: v5.0.0
26
+ hooks:
27
+ - id: trailing-whitespace
28
+ - id: end-of-file-fixer
29
+ - id: debug-statements
csu-1.0.0/AUTHORS.rst ADDED
@@ -0,0 +1,5 @@
1
+
2
+ Authors
3
+ =======
4
+
5
+ * Ionel Cristian Mărieș - https://blog.ionelmc.ro
@@ -0,0 +1,8 @@
1
+
2
+ Changelog
3
+ =========
4
+
5
+ 0.0.0 (2024-03-24)
6
+ ------------------
7
+
8
+ * First release on PyPI.
@@ -0,0 +1,85 @@
1
+ ============
2
+ Contributing
3
+ ============
4
+
5
+ Contributions are welcome, and they are greatly appreciated! Every
6
+ little bit helps, and credit will always be given.
7
+
8
+ Bug reports
9
+ ===========
10
+
11
+ When `reporting a bug <https://github.com/ionelmc/python-csu/issues>`_ please include:
12
+
13
+ * Your operating system name and version.
14
+ * Any details about your local setup that might be helpful in troubleshooting.
15
+ * Detailed steps to reproduce the bug.
16
+
17
+ Documentation improvements
18
+ ==========================
19
+
20
+ CSU could always use more documentation, whether as part of the
21
+ official CSU docs, in docstrings, or even on the web in blog posts,
22
+ articles, and such.
23
+
24
+ Feature requests and feedback
25
+ =============================
26
+
27
+ The best way to send feedback is to file an issue at https://github.com/ionelmc/python-csu/issues.
28
+
29
+ If you are proposing a feature:
30
+
31
+ * Explain in detail how it would work.
32
+ * Keep the scope as narrow as possible, to make it easier to implement.
33
+ * Remember that this is a volunteer-driven project, and that code contributions are welcome :)
34
+
35
+ Development
36
+ ===========
37
+
38
+ To set up `python-csu` for local development:
39
+
40
+ 1. Fork `python-csu <https://github.com/ionelmc/python-csu>`_
41
+ (look for the "Fork" button).
42
+ 2. Clone your fork locally::
43
+
44
+ git clone git@github.com:YOURGITHUBNAME/python-csu.git
45
+
46
+ 3. Create a branch for local development::
47
+
48
+ git checkout -b name-of-your-bugfix-or-feature
49
+
50
+ Now you can make your changes locally.
51
+
52
+ 4. When you're done making changes run all the checks and docs builder with one command::
53
+
54
+ tox
55
+
56
+ 5. Commit your changes and push your branch to GitHub::
57
+
58
+ git add .
59
+ git commit -m "Your detailed description of your changes."
60
+ git push origin name-of-your-bugfix-or-feature
61
+
62
+ 6. Submit a pull request through the GitHub website.
63
+
64
+ Pull Request Guidelines
65
+ -----------------------
66
+
67
+ If you need some code review or feedback while you're developing the code just make the pull request.
68
+
69
+ For merging, you should:
70
+
71
+ 1. Include passing tests (run ``tox``).
72
+ 2. Update documentation when there's new API, functionality etc.
73
+ 3. Add a note to ``CHANGELOG.rst`` about the changes.
74
+ 4. Add yourself to ``AUTHORS.rst``.
75
+
76
+ Tips
77
+ ----
78
+
79
+ To run a subset of tests::
80
+
81
+ tox -e envname -- pytest -k test_myfeature
82
+
83
+ To run all the test environments in *parallel*::
84
+
85
+ tox -p auto
csu-1.0.0/LICENSE ADDED
@@ -0,0 +1,10 @@
1
+ BSD 2-Clause License
2
+
3
+ Copyright (c) 2024, Ionel Cristian Mărieș. All rights reserved.
4
+
5
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
6
+
7
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
8
+ 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.
9
+
10
+ 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 HOLDER 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.
csu-1.0.0/MANIFEST.in ADDED
@@ -0,0 +1,21 @@
1
+ graft docs
2
+ graft src
3
+ graft ci
4
+ graft tests
5
+
6
+ include .bumpversion.cfg
7
+ include .cookiecutterrc
8
+ include .coveragerc
9
+ include .editorconfig
10
+ include .github/workflows/github-actions.yml
11
+ include .pre-commit-config.yaml
12
+ include pytest.ini
13
+ include tox.ini
14
+
15
+ include AUTHORS.rst
16
+ include CHANGELOG.rst
17
+ include CONTRIBUTING.rst
18
+ include LICENSE
19
+ include README.rst
20
+
21
+ global-exclude *.py[cod] __pycache__/* *.so *.dylib
csu-1.0.0/PKG-INFO ADDED
@@ -0,0 +1,100 @@
1
+ Metadata-Version: 2.1
2
+ Name: csu
3
+ Version: 1.0.0
4
+ Summary: Clean Slate Utils - bunch of utility code, mostly Django/DRF specific.
5
+ Home-page: https://github.com/ionelmc/python-csu
6
+ Author: Ionel Cristian Mărieș
7
+ Author-email: contact@ionelmc.ro
8
+ License: BSD-2-Clause
9
+ Project-URL: Changelog, https://github.com/ionelmc/python-csu/blob/master/CHANGELOG.rst
10
+ Project-URL: Issue Tracker, https://github.com/ionelmc/python-csu/issues
11
+ Classifier: Development Status :: 5 - Production/Stable
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: BSD License
14
+ Classifier: Operating System :: Unix
15
+ Classifier: Operating System :: POSIX
16
+ Classifier: Operating System :: Microsoft :: Windows
17
+ Classifier: Programming Language :: Python
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3 :: Only
20
+ Classifier: Programming Language :: Python :: 3.8
21
+ Classifier: Programming Language :: Python :: 3.9
22
+ Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3.12
25
+ Classifier: Programming Language :: Python :: Implementation :: CPython
26
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
27
+ Classifier: Topic :: Utilities
28
+ Requires-Python: >=3.10
29
+ License-File: LICENSE
30
+ License-File: AUTHORS.rst
31
+ Requires-Dist: django
32
+ Requires-Dist: djangorestframework
33
+ Requires-Dist: django-crispy-forms
34
+ Requires-Dist: django-import-export
35
+ Requires-Dist: httpx
36
+ Requires-Dist: typing-extensions
37
+ Requires-Dist: defusedxml
38
+ Provides-Extra: phonenumber
39
+ Requires-Dist: phonenumberslite; extra == "phonenumber"
40
+ Requires-Dist: django-phonenumber-field; extra == "phonenumber"
41
+
42
+ ========
43
+ Overview
44
+ ========
45
+
46
+
47
+
48
+ Clean Slate Utils - bunch of utility code, mostly Django/DRF specific.
49
+
50
+ * Free software: BSD 2-Clause License
51
+
52
+ Installation
53
+ ============
54
+
55
+ ::
56
+
57
+ pip install csu
58
+
59
+ You can also install the in-development version with::
60
+
61
+ pip install https://github.com/ionelmc/python-csu/archive/main.zip
62
+
63
+
64
+ Documentation
65
+ =============
66
+
67
+ None.
68
+
69
+ Development
70
+ ===========
71
+
72
+ To run all the tests run::
73
+
74
+ tox
75
+
76
+ Note, to combine the coverage data from all the tox environments run:
77
+
78
+ .. list-table::
79
+ :widths: 10 90
80
+ :stub-columns: 1
81
+
82
+ - - Windows
83
+ - ::
84
+
85
+ set PYTEST_ADDOPTS=--cov-append
86
+ tox
87
+
88
+ - - Other
89
+ - ::
90
+
91
+ PYTEST_ADDOPTS=--cov-append tox
92
+
93
+
94
+ Changelog
95
+ =========
96
+
97
+ 0.0.0 (2024-03-24)
98
+ ------------------
99
+
100
+ * First release on PyPI.
csu-1.0.0/README.rst ADDED
@@ -0,0 +1,101 @@
1
+ ========
2
+ Overview
3
+ ========
4
+
5
+ .. start-badges
6
+
7
+ .. list-table::
8
+ :stub-columns: 1
9
+
10
+ * - tests
11
+ - |github-actions| |coveralls| |codecov| |scrutinizer| |codacy|
12
+ * - package
13
+ - |version| |wheel| |supported-versions| |supported-implementations| |commits-since|
14
+
15
+ .. |github-actions| image:: https://github.com/ionelmc/python-csu/actions/workflows/github-actions.yml/badge.svg
16
+ :alt: GitHub Actions Build Status
17
+ :target: https://github.com/ionelmc/python-csu/actions
18
+
19
+ .. |coveralls| image:: https://coveralls.io/repos/github/ionelmc/python-csu/badge.svg?branch=main
20
+ :alt: Coverage Status
21
+ :target: https://coveralls.io/github/ionelmc/python-csu?branch=main
22
+
23
+ .. |codecov| image:: https://codecov.io/gh/ionelmc/python-csu/branch/main/graphs/badge.svg?branch=main
24
+ :alt: Coverage Status
25
+ :target: https://app.codecov.io/github/ionelmc/python-csu
26
+
27
+ .. |codacy| image:: https://img.shields.io/codacy/grade/[Get ID from https://app.codacy.com/gh/ionelmc/python-csu/settings].svg
28
+ :target: https://www.codacy.com/app/ionelmc/python-csu
29
+ :alt: Codacy Code Quality Status
30
+
31
+ .. |version| image:: https://img.shields.io/pypi/v/csu.svg
32
+ :alt: PyPI Package latest release
33
+ :target: https://pypi.org/project/csu
34
+
35
+ .. |wheel| image:: https://img.shields.io/pypi/wheel/csu.svg
36
+ :alt: PyPI Wheel
37
+ :target: https://pypi.org/project/csu
38
+
39
+ .. |supported-versions| image:: https://img.shields.io/pypi/pyversions/csu.svg
40
+ :alt: Supported versions
41
+ :target: https://pypi.org/project/csu
42
+
43
+ .. |supported-implementations| image:: https://img.shields.io/pypi/implementation/csu.svg
44
+ :alt: Supported implementations
45
+ :target: https://pypi.org/project/csu
46
+
47
+ .. |commits-since| image:: https://img.shields.io/github/commits-since/ionelmc/python-csu/v1.0.0.svg
48
+ :alt: Commits since latest release
49
+ :target: https://github.com/ionelmc/python-csu/compare/v1.0.0...main
50
+
51
+ .. |scrutinizer| image:: https://img.shields.io/scrutinizer/quality/g/ionelmc/python-csu/main.svg
52
+ :alt: Scrutinizer Status
53
+ :target: https://scrutinizer-ci.com/g/ionelmc/python-csu/
54
+
55
+
56
+ .. end-badges
57
+
58
+ Clean Slate Utils - bunch of utility code, mostly Django/DRF specific.
59
+
60
+ * Free software: BSD 2-Clause License
61
+
62
+ Installation
63
+ ============
64
+
65
+ ::
66
+
67
+ pip install csu
68
+
69
+ You can also install the in-development version with::
70
+
71
+ pip install https://github.com/ionelmc/python-csu/archive/main.zip
72
+
73
+
74
+ Documentation
75
+ =============
76
+
77
+ None.
78
+
79
+ Development
80
+ ===========
81
+
82
+ To run all the tests run::
83
+
84
+ tox
85
+
86
+ Note, to combine the coverage data from all the tox environments run:
87
+
88
+ .. list-table::
89
+ :widths: 10 90
90
+ :stub-columns: 1
91
+
92
+ - - Windows
93
+ - ::
94
+
95
+ set PYTEST_ADDOPTS=--cov-append
96
+ tox
97
+
98
+ - - Other
99
+ - ::
100
+
101
+ PYTEST_ADDOPTS=--cov-append tox