extended-data-types 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 (66) hide show
  1. extended_data_types-1.0.0/.envrc +2 -0
  2. extended_data_types-1.0.0/.gitattributes +30 -0
  3. extended_data_types-1.0.0/.github/ISSUE_TEMPLATE/bug_report.md +46 -0
  4. extended_data_types-1.0.0/.github/ISSUE_TEMPLATE/custom.md +8 -0
  5. extended_data_types-1.0.0/.github/ISSUE_TEMPLATE/feature_request.md +24 -0
  6. extended_data_types-1.0.0/.github/dependabot.yml +7 -0
  7. extended_data_types-1.0.0/.github/workflows/ci.yml +107 -0
  8. extended_data_types-1.0.0/.github/workflows/codeql-analysis.yml +38 -0
  9. extended_data_types-1.0.0/.github/workflows/docs.yml +39 -0
  10. extended_data_types-1.0.0/.github/workflows/release.yml +99 -0
  11. extended_data_types-1.0.0/.github/workflows/runs.yml +86 -0
  12. extended_data_types-1.0.0/.gitignore +187 -0
  13. extended_data_types-1.0.0/.pre-commit-config.yaml +37 -0
  14. extended_data_types-1.0.0/.python-version +5 -0
  15. extended_data_types-1.0.0/.python-version-default +1 -0
  16. extended_data_types-1.0.0/.readthedocs.yaml +19 -0
  17. extended_data_types-1.0.0/CHANGELOG.md +15 -0
  18. extended_data_types-1.0.0/CODE_OF_CONDUCT.md +129 -0
  19. extended_data_types-1.0.0/CONTRIBUTING.md +34 -0
  20. extended_data_types-1.0.0/LICENSE +21 -0
  21. extended_data_types-1.0.0/PKG-INFO +123 -0
  22. extended_data_types-1.0.0/README.md +76 -0
  23. extended_data_types-1.0.0/docs/_static/logo.png +0 -0
  24. extended_data_types-1.0.0/docs/conf.py +77 -0
  25. extended_data_types-1.0.0/docs/index.md +25 -0
  26. extended_data_types-1.0.0/docs/installation.rst +14 -0
  27. extended_data_types-1.0.0/docs/overview.rst +76 -0
  28. extended_data_types-1.0.0/logs/pytest-logs.txt +0 -0
  29. extended_data_types-1.0.0/pyproject.toml +240 -0
  30. extended_data_types-1.0.0/src/extended_data_types/__init__.py +90 -0
  31. extended_data_types-1.0.0/src/extended_data_types/base64_utils.py +53 -0
  32. extended_data_types-1.0.0/src/extended_data_types/export_utils.py +98 -0
  33. extended_data_types-1.0.0/src/extended_data_types/hcl2_utils.py +52 -0
  34. extended_data_types-1.0.0/src/extended_data_types/import_utils.py +26 -0
  35. extended_data_types-1.0.0/src/extended_data_types/json_utils.py +35 -0
  36. extended_data_types-1.0.0/src/extended_data_types/list_data_type.py +78 -0
  37. extended_data_types-1.0.0/src/extended_data_types/map_data_type.py +226 -0
  38. extended_data_types-1.0.0/src/extended_data_types/matcher_utils.py +68 -0
  39. extended_data_types-1.0.0/src/extended_data_types/py.typed +0 -0
  40. extended_data_types-1.0.0/src/extended_data_types/splitter_utils.py +54 -0
  41. extended_data_types-1.0.0/src/extended_data_types/stack_utils.py +87 -0
  42. extended_data_types-1.0.0/src/extended_data_types/state_utils.py +169 -0
  43. extended_data_types-1.0.0/src/extended_data_types/string_data_type.py +161 -0
  44. extended_data_types-1.0.0/src/extended_data_types/type_utils.py +67 -0
  45. extended_data_types-1.0.0/src/extended_data_types/yaml_utils/__init__.py +31 -0
  46. extended_data_types-1.0.0/src/extended_data_types/yaml_utils/constructors.py +58 -0
  47. extended_data_types-1.0.0/src/extended_data_types/yaml_utils/dumpers.py +69 -0
  48. extended_data_types-1.0.0/src/extended_data_types/yaml_utils/loaders.py +28 -0
  49. extended_data_types-1.0.0/src/extended_data_types/yaml_utils/representers.py +65 -0
  50. extended_data_types-1.0.0/src/extended_data_types/yaml_utils/tag_classes.py +53 -0
  51. extended_data_types-1.0.0/src/extended_data_types/yaml_utils/utils.py +61 -0
  52. extended_data_types-1.0.0/tests/__init__.py +0 -0
  53. extended_data_types-1.0.0/tests/test_base64_utils.py +193 -0
  54. extended_data_types-1.0.0/tests/test_export_utils.py +92 -0
  55. extended_data_types-1.0.0/tests/test_hcl2_utils.py +145 -0
  56. extended_data_types-1.0.0/tests/test_json_utils.py +86 -0
  57. extended_data_types-1.0.0/tests/test_list_data_type.py +169 -0
  58. extended_data_types-1.0.0/tests/test_map_data_type.py +364 -0
  59. extended_data_types-1.0.0/tests/test_matcher_utils.py +73 -0
  60. extended_data_types-1.0.0/tests/test_splitter_utils.py +121 -0
  61. extended_data_types-1.0.0/tests/test_stack_utils.py +146 -0
  62. extended_data_types-1.0.0/tests/test_state_utils.py +184 -0
  63. extended_data_types-1.0.0/tests/test_string_data_type.py +164 -0
  64. extended_data_types-1.0.0/tests/test_type_utils.py +125 -0
  65. extended_data_types-1.0.0/tests/test_yaml_utils.py +143 -0
  66. extended_data_types-1.0.0/tox.ini +62 -0
@@ -0,0 +1,2 @@
1
+ export LANG=en_US.UTF-8
2
+ export PYTHONWARNINGS=ignore
@@ -0,0 +1,30 @@
1
+ # Source files
2
+ # ============
3
+ *.pxd text diff=python
4
+ *.py text diff=python
5
+ *.py3 text diff=python
6
+ *.pyw text diff=python
7
+ *.pyx text diff=python
8
+ *.pyz text diff=python
9
+ *.pyi text diff=python
10
+
11
+ # Binary files
12
+ # ============
13
+ *.db binary
14
+ *.p binary
15
+ *.pkl binary
16
+ *.pickle binary
17
+ *.pyc binary export-ignore
18
+ *.pyo binary export-ignore
19
+ *.pyd binary
20
+
21
+ # Jupyter notebook
22
+ *.ipynb text eol=lf
23
+
24
+ # Note: .db, .p, and .pkl files are associated
25
+ # with the python modules ``pickle``, ``dbm.*``,
26
+ # ``shelve``, ``marshal``, ``anydbm``, & ``bsddb``
27
+ # (among others).
28
+
29
+ # Auto detect text files and perform LF normalization
30
+ * text=auto
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve
4
+ title: ''
5
+ labels: ''
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ ## Describe the bug
11
+
12
+ A clear and concise description of what the bug is.
13
+
14
+ ## To Reproduce
15
+
16
+ Steps to reproduce the behavior:
17
+
18
+ 1. Go to '...'
19
+ 2. Click on '....'
20
+ 3. Scroll down to '....'
21
+ 4. See error
22
+
23
+ ## Expected behavior
24
+
25
+ A clear and concise description of what you expected to happen.
26
+
27
+ ## Screenshots
28
+
29
+ If applicable, add screenshots to help explain your problem.
30
+
31
+ ## Desktop (please complete the following information)
32
+
33
+ - OS: [e.g. iOS]
34
+ - Browser [e.g. chrome, safari]
35
+ - Version [e.g. 22]
36
+
37
+ ## Smartphone (please complete the following information)
38
+
39
+ - Device: [e.g. iPhone6]
40
+ - OS: [e.g. iOS8.1]
41
+ - Browser [e.g. stock browser, safari]
42
+ - Version [e.g. 22]
43
+
44
+ ## Additional context
45
+
46
+ Add any other context about the problem here.
@@ -0,0 +1,8 @@
1
+ ---
2
+ name: Custom issue template
3
+ about: Describe this issue template's purpose here.
4
+ title: ''
5
+ labels: ''
6
+ assignees: ''
7
+
8
+ ---
@@ -0,0 +1,24 @@
1
+ ---
2
+ name: Feature request
3
+ about: Suggest an idea for this project
4
+ title: ''
5
+ labels: ''
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ ## Is your feature request related to a problem? Please describe it
11
+
12
+ A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
13
+
14
+ ## Describe the solution you'd like
15
+
16
+ A clear and concise description of what you want to happen.
17
+
18
+ ## Describe alternatives you've considered
19
+
20
+ A clear and concise description of any alternative solutions or features you've considered.
21
+
22
+ ## Additional context
23
+
24
+ Add any other context or screenshots about the feature request here.
@@ -0,0 +1,7 @@
1
+ ---
2
+ version: 2
3
+ updates:
4
+ - package-ecosystem: "github-actions"
5
+ directory: "/"
6
+ schedule:
7
+ interval: "monthly"
@@ -0,0 +1,107 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ workflow_dispatch:
8
+
9
+ env:
10
+ FORCE_COLOR: "1"
11
+ PIP_DISABLE_PIP_VERSION_CHECK: "1"
12
+ PIP_NO_PYTHON_VERSION_WARNING: "1"
13
+
14
+ jobs:
15
+ build-package:
16
+ name: Build package
17
+ runs-on: ubuntu-latest
18
+
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+ with:
22
+ fetch-depth: 0
23
+ - uses: hynek/build-and-inspect-python-package@v2
24
+ id: baipp
25
+
26
+ outputs:
27
+ python-versions: ${{ steps.baipp.outputs.supported_python_classifiers_json_array }}
28
+
29
+ tests:
30
+ name: Run Tests on Python ${{ matrix.python-version }}
31
+ needs: build-package
32
+ runs-on: ubuntu-latest
33
+ strategy:
34
+ fail-fast: false
35
+ matrix:
36
+ python-version: ${{ fromJson(needs.build-package.outputs.python-versions) }}
37
+
38
+ steps:
39
+ - uses: actions/checkout@v4
40
+ - name: Download pre-built packages
41
+ uses: actions/download-artifact@v4
42
+ with:
43
+ name: Packages
44
+ path: dist
45
+ - run: tar xf dist/*.tar.gz --strip-components=1
46
+ - uses: actions/setup-python@v5
47
+ with:
48
+ python-version: ${{ matrix.python-version }}
49
+ allow-prereleases: true
50
+ - uses: hynek/setup-cached-uv@v2
51
+ - run: uv pip install --system tox-uv
52
+ - run: python -Im tox run --installpkg dist/*.whl -f py$(echo ${{ matrix.python-version }} | tr -d .)
53
+ - name: Upload coverage data
54
+ uses: actions/upload-artifact@v4
55
+ with:
56
+ name: coverage-data-${{ matrix.python-version }}
57
+ path: .coverage.*
58
+ if-no-files-found: ignore
59
+
60
+ coverage:
61
+ name: Combine & check coverage
62
+ needs: tests
63
+ runs-on: ubuntu-latest
64
+
65
+ steps:
66
+ - uses: actions/checkout@v4
67
+ - uses: actions/setup-python@v5
68
+ with:
69
+ python-version-file: .python-version-default
70
+ - uses: hynek/setup-cached-uv@v2
71
+ - run: uv pip install --system --upgrade coverage[toml]
72
+ - uses: actions/download-artifact@v4
73
+ with:
74
+ pattern: coverage-data-*
75
+ merge-multiple: true
76
+ - name: Combine coverage & fail if it's <75%
77
+ run: |
78
+ python -Im coverage combine
79
+ python -Im coverage html --skip-covered --skip-empty
80
+ python -Im coverage report --format=markdown >> $GITHUB_STEP_SUMMARY
81
+ python -Im coverage report --fail-under=75
82
+ - name: Upload HTML report
83
+ if: always()
84
+ uses: actions/upload-artifact@v4
85
+ with:
86
+ name: html-report
87
+ path: htmlcov
88
+
89
+ type-checking:
90
+ name: Type-check package
91
+ needs: build-package
92
+ runs-on: ubuntu-latest
93
+
94
+ steps:
95
+ - name: Download pre-built packages
96
+ uses: actions/download-artifact@v4
97
+ with:
98
+ name: Packages
99
+ path: dist
100
+ - run: tar xf dist/*.tar.gz --strip-components=1
101
+ - uses: actions/setup-python@v5
102
+ with:
103
+ python-version-file: .python-version-default
104
+ allow-prereleases: true
105
+ - uses: hynek/setup-cached-uv@v2
106
+ - run: uv pip install --system tox-uv
107
+ - run: python -Im tox run --installpkg dist/*.whl -e typing
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: CodeQL
3
+
4
+ on:
5
+ schedule:
6
+ - cron: "41 3 * * 6"
7
+
8
+ permissions:
9
+ contents: read
10
+
11
+ jobs:
12
+ analyze:
13
+ name: Analyze
14
+ runs-on: ubuntu-latest
15
+ permissions:
16
+ actions: read
17
+ contents: read
18
+ security-events: write
19
+
20
+ strategy:
21
+ fail-fast: false
22
+ matrix:
23
+ language: [python]
24
+
25
+ steps:
26
+ - name: Checkout repository
27
+ uses: actions/checkout@v4
28
+
29
+ - name: Initialize CodeQL
30
+ uses: github/codeql-action/init@v3
31
+ with:
32
+ languages: ${{ matrix.language }}
33
+
34
+ - name: Autobuild
35
+ uses: github/codeql-action/autobuild@v3
36
+
37
+ - name: Perform CodeQL Analysis
38
+ uses: github/codeql-action/analyze@v3
@@ -0,0 +1,39 @@
1
+ name: Docs
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+
8
+ permissions:
9
+ id-token: write
10
+ contents: write
11
+ pages: write
12
+
13
+ jobs:
14
+ pages:
15
+ name: Build and Push to Github Pages
16
+ environment: github-pages
17
+ runs-on: ubuntu-latest
18
+
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+ with:
22
+ ref: ${{ github.head_ref }}
23
+ - uses: actions/setup-python@v5
24
+ with:
25
+ python-version-file: .python-version-default
26
+ - uses: hynek/setup-cached-uv@v2
27
+ - run: uv pip install --system tox-uv
28
+ - run: python -Im tox -e docs
29
+ - name: Upload artifact
30
+ uses: actions/upload-pages-artifact@v3
31
+ with:
32
+ path: './docs/_build/html'
33
+ - name: Deploy to GitHub Pages
34
+ id: deployment
35
+ uses: actions/deploy-pages@v4
36
+ - uses: stefanzweifel/git-auto-commit-action@v5
37
+ with:
38
+ commit_message: 'docs(changelog) Updated changelog [skip actions]'
39
+ file_pattern: 'CHANGELOG.md'
@@ -0,0 +1,99 @@
1
+ name: Release extended-data-types 🐍 Python library 📦 to PyPI and TestPyPI
2
+
3
+ on: push
4
+
5
+ permissions:
6
+ attestations: write
7
+ contents: read
8
+ id-token: write
9
+
10
+ jobs:
11
+ build:
12
+ name: Build & verify package
13
+ runs-on: ubuntu-latest
14
+
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ with:
18
+ fetch-depth: 0
19
+
20
+ - uses: hynek/build-and-inspect-python-package@v2
21
+ with:
22
+ attest-build-provenance-github: 'true'
23
+
24
+ publish-to-testpypi:
25
+ name: Publish Python 🐍 distribution 📦 to TestPyPI
26
+ needs:
27
+ - build
28
+ runs-on: ubuntu-latest
29
+
30
+ environment:
31
+ name: Testing
32
+ url: https://test.pypi.org/p/extended-data-types
33
+
34
+ steps:
35
+ - name: Download packages built by build-and-inspect-python-package
36
+ uses: actions/download-artifact@v4
37
+ with:
38
+ name: Packages
39
+ path: dist
40
+ - name: Publish distribution 📦 to TestPyPI
41
+ uses: pypa/gh-action-pypi-publish@release/v1
42
+ with:
43
+ repository-url: https://test.pypi.org/legacy/
44
+
45
+ publish-to-pypi:
46
+ name: >-
47
+ Publish Python 🐍 distribution 📦 to PyPI
48
+ if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
49
+ needs:
50
+ - build
51
+ runs-on: ubuntu-latest
52
+ environment:
53
+ name: Production
54
+ url: https://pypi.org/p/extended-data-types
55
+
56
+ steps:
57
+ - name: Download packages built by build-and-inspect-python-package
58
+ uses: actions/download-artifact@v4
59
+ with:
60
+ name: Packages
61
+ path: dist
62
+ - name: Publish distribution 📦 to PyPI
63
+ uses: pypa/gh-action-pypi-publish@release/v1
64
+
65
+ github-release:
66
+ name: >-
67
+ Sign the Python 🐍 distribution 📦 with Sigstore
68
+ and upload them to GitHub Release
69
+ needs:
70
+ - publish-to-pypi
71
+ runs-on: ubuntu-latest
72
+
73
+ steps:
74
+ - name: Download packages built by build-and-inspect-python-package
75
+ uses: actions/download-artifact@v4
76
+ with:
77
+ name: Packages
78
+ path: dist
79
+ - name: Sign the dists with Sigstore
80
+ uses: sigstore/gh-action-sigstore-python@v2.1.1
81
+ with:
82
+ inputs: >-
83
+ ./dist/*.tar.gz
84
+ ./dist/*.whl
85
+ - name: Create GitHub Release
86
+ env:
87
+ GITHUB_TOKEN: ${{ github.token }}
88
+ run: >-
89
+ gh release create
90
+ '${{ github.ref_name }}'
91
+ --repo '${{ github.repository }}'
92
+ --notes ""
93
+ - name: Upload artifact signatures to GitHub Release
94
+ env:
95
+ GITHUB_TOKEN: ${{ github.token }}
96
+ run: >-
97
+ gh release upload
98
+ '${{ github.ref_name }}' dist/**
99
+ --repo '${{ github.repository }}'
@@ -0,0 +1,86 @@
1
+ name: Delete old workflow runs
2
+ on:
3
+ schedule:
4
+ - cron: '0 0 1 * *'
5
+ workflow_dispatch:
6
+ inputs:
7
+ days:
8
+ description: 'Days-worth of runs to keep for each workflow'
9
+ required: true
10
+ default: '30'
11
+ minimum_runs:
12
+ description: 'Minimum runs to keep for each workflow'
13
+ required: true
14
+ default: '10'
15
+ delete_workflow_pattern:
16
+ description: 'Name or filename of the workflow (if not set, all workflows are targeted)'
17
+ required: false
18
+ delete_workflow_by_state_pattern:
19
+ description: 'Filter workflows by state: active, deleted, disabled_fork, disabled_inactivity, disabled_manually'
20
+ required: true
21
+ default: "ALL"
22
+ type: choice
23
+ options:
24
+ - "ALL"
25
+ - active
26
+ - deleted
27
+ - disabled_inactivity
28
+ - disabled_manually
29
+ delete_run_by_conclusion_pattern:
30
+ description: 'Remove runs based on conclusion: action_required, cancelled, failure, skipped, success'
31
+ required: true
32
+ default: "ALL"
33
+ type: choice
34
+ options:
35
+ - "ALL"
36
+ - "Unsuccessful: action_required,cancelled,failure,skipped"
37
+ - action_required
38
+ - cancelled
39
+ - failure
40
+ - skipped
41
+ - success
42
+ dry_run:
43
+ description: 'Logs simulated changes, no deletions are performed'
44
+ required: false
45
+
46
+ jobs:
47
+ on_schedule:
48
+ if: github.event_name == 'schedule'
49
+ runs-on: ubuntu-latest
50
+ permissions:
51
+ actions: write
52
+ contents: read
53
+
54
+ steps:
55
+ - name: Delete workflow runs
56
+ uses: Mattraks/delete-workflow-runs@v2
57
+ with:
58
+ token: ${{ github.token }}
59
+ repository: ${{ github.repository }}
60
+ retain_days: 30
61
+ keep_minimum_runs: 10
62
+
63
+ on_dispatch:
64
+ if: github.event_name == 'workflow_dispatch'
65
+ runs-on: ubuntu-latest
66
+ permissions:
67
+ actions: write
68
+ contents: read
69
+
70
+ steps:
71
+ - name: Delete workflow runs
72
+ uses: Mattraks/delete-workflow-runs@v2
73
+ with:
74
+ token: ${{ github.token }}
75
+ repository: ${{ github.repository }}
76
+ retain_days: ${{ github.event.inputs.days }}
77
+ keep_minimum_runs: ${{ github.event.inputs.minimum_runs }}
78
+ delete_workflow_pattern: ${{ github.event.inputs.delete_workflow_pattern }}
79
+ delete_workflow_by_state_pattern: ${{ github.event.inputs.delete_workflow_by_state_pattern }}
80
+ delete_run_by_conclusion_pattern: >-
81
+ ${{
82
+ startsWith(github.event.inputs.delete_run_by_conclusion_pattern, 'Unsuccessful:')
83
+ && 'action_required,cancelled,failure,skipped'
84
+ || github.event.inputs.delete_run_by_conclusion_pattern
85
+ }}
86
+ dry_run: ${{ github.event.inputs.dry_run }}
@@ -0,0 +1,187 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+ # requirements.txt
29
+
30
+ # PyInstaller
31
+ # Usually these files are written by a python script from a template
32
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
33
+ *.manifest
34
+ *.spec
35
+
36
+ # Installer logs
37
+ pip-log.txt
38
+ pip-delete-this-directory.txt
39
+
40
+ # Unit test / coverage reports
41
+ htmlcov/
42
+ .tox/
43
+ .nox/
44
+ .coverage
45
+ .coverage.*
46
+ .cache
47
+ nosetests.xml
48
+ coverage.xml
49
+ *.cover
50
+ *.py,cover
51
+ .hypothesis/
52
+ .pytest_cache/
53
+ cover/
54
+
55
+ # Translations
56
+ *.mo
57
+ *.pot
58
+
59
+ # Django stuff:
60
+ *.log
61
+ local_settings.py
62
+ db.sqlite3
63
+ db.sqlite3-journal
64
+
65
+ # Flask stuff:
66
+ instance/
67
+ .webassets-cache
68
+
69
+ # Scrapy stuff:
70
+ .scrapy
71
+
72
+ # Sphinx documentation
73
+ docs/_build
74
+ docs/apidocs
75
+
76
+ # PyBuilder
77
+ .pybuilder/
78
+ target/
79
+
80
+ # Jupyter Notebook
81
+ .ipynb_checkpoints
82
+
83
+ # IPython
84
+ profile_default/
85
+ ipython_config.py
86
+
87
+ # pyenv
88
+ # For a library or package, you might want to ignore these files since the code is
89
+ # intended to run in multiple environments; otherwise, check them in:
90
+ # .python-version
91
+
92
+ # pipenv
93
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
94
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
95
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
96
+ # install all needed dependencies.
97
+ #Pipfile.lock
98
+
99
+ # poetry
100
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
101
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
102
+ # commonly ignored for libraries.
103
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
104
+ #poetry.lock
105
+
106
+ # pdm
107
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
108
+ #pdm.lock
109
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
110
+ # in version control.
111
+ # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
112
+ .pdm.toml
113
+ .pdm-python
114
+ .pdm-build/
115
+
116
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
117
+ __pypackages__/
118
+
119
+ # Celery stuff
120
+ celerybeat-schedule
121
+ celerybeat.pid
122
+
123
+ # SageMath parsed files
124
+ *.sage.py
125
+
126
+ # Environments
127
+ .env
128
+ .venv
129
+ env/
130
+ venv/
131
+ ENV/
132
+ env.bak/
133
+ venv.bak/
134
+
135
+ # Spyder project settings
136
+ .spyderproject
137
+ .spyproject
138
+
139
+ # Rope project settings
140
+ .ropeproject
141
+
142
+ # mkdocs documentation
143
+ /site
144
+
145
+ # mypy
146
+ .mypy_cache/
147
+ .dmypy.json
148
+ dmypy.json
149
+
150
+ # Pyre type checker
151
+ .pyre/
152
+
153
+ # pytype static type analyzer
154
+ .pytype/
155
+
156
+ # Cython debug symbols
157
+ cython_debug/
158
+
159
+ .idea/
160
+ *.iml
161
+
162
+ # General
163
+ .DS_Store
164
+ .AppleDouble
165
+ .LSOverride
166
+
167
+ # Icon must end with two \r
168
+ Icon
169
+
170
+ # Thumbnails
171
+ ._*
172
+
173
+ # Files that might appear in the root of a volume
174
+ .DocumentRevisions-V100
175
+ .fseventsd
176
+ .Spotlight-V100
177
+ .TemporaryItems
178
+ .Trashes
179
+ .VolumeIcon.icns
180
+ .com.apple.timemachine.donotpresent
181
+
182
+ # Directories potentially created on remote AFP share
183
+ .AppleDB
184
+ .AppleDesktop
185
+ Network Trash Folder
186
+ Temporary Items
187
+ .apdisk