cachepot 0.3.0__tar.gz → 0.5.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 (90) hide show
  1. cachepot-0.5.0/.coveragerc +2 -0
  2. cachepot-0.5.0/.github/ISSUE_TEMPLATE/bug_report.md +32 -0
  3. cachepot-0.5.0/.github/ISSUE_TEMPLATE/feature_request.md +19 -0
  4. cachepot-0.5.0/.github/PULL_REQUEST_TEMPLATE.md +16 -0
  5. cachepot-0.5.0/.github/workflows/codeql.yml +43 -0
  6. cachepot-0.5.0/.github/workflows/gitignore-in.yml +18 -0
  7. cachepot-0.5.0/.github/workflows/happy.yml +15 -0
  8. cachepot-0.5.0/.github/workflows/octocov.yml +55 -0
  9. cachepot-0.5.0/.github/workflows/pypi-publish.yml +51 -0
  10. cachepot-0.5.0/.github/workflows/python-test.yml +68 -0
  11. cachepot-0.5.0/.github/workflows/spellcheck.yml +13 -0
  12. cachepot-0.5.0/.gitignore +343 -0
  13. cachepot-0.5.0/.gitignore.in +5 -0
  14. cachepot-0.5.0/.octocov.yml +21 -0
  15. cachepot-0.5.0/CONTRIBUTING.md +48 -0
  16. cachepot-0.5.0/PKG-INFO +179 -0
  17. cachepot-0.3.0/PKG-INFO → cachepot-0.5.0/README.md +57 -37
  18. cachepot-0.5.0/SECURITY.md +35 -0
  19. cachepot-0.5.0/cachepot/__init__.py +28 -0
  20. cachepot-0.5.0/cachepot/_version.py +24 -0
  21. cachepot-0.5.0/cachepot/_warnings.py +14 -0
  22. cachepot-0.5.0/cachepot/backend/__init__.py +62 -0
  23. cachepot-0.5.0/cachepot/backend/filesystem.py +194 -0
  24. cachepot-0.5.0/cachepot/backend/redis.py +89 -0
  25. cachepot-0.5.0/cachepot/backend/sqlite.py +250 -0
  26. cachepot-0.5.0/cachepot/expire.py +22 -0
  27. cachepot-0.5.0/cachepot/serializer/__init__.py +9 -0
  28. {cachepot-0.3.0 → cachepot-0.5.0}/cachepot/serializer/json.py +2 -2
  29. cachepot-0.5.0/cachepot/serializer/pickle.py +153 -0
  30. cachepot-0.5.0/cachepot/store/__init__.py +346 -0
  31. cachepot-0.5.0/cachepot.egg-info/PKG-INFO +179 -0
  32. {cachepot-0.3.0 → cachepot-0.5.0}/cachepot.egg-info/SOURCES.txt +17 -3
  33. cachepot-0.5.0/cachepot.egg-info/requires.txt +3 -0
  34. cachepot-0.5.0/cachepot.egg-info/scm_file_list.json +54 -0
  35. cachepot-0.5.0/cachepot.egg-info/scm_version.json +8 -0
  36. cachepot-0.5.0/cachepot.egg-info/top_level.txt +1 -0
  37. cachepot-0.5.0/example/README.md +8 -0
  38. {cachepot-0.3.0 → cachepot-0.5.0}/example/__init__.py +12 -13
  39. cachepot-0.5.0/lefthook.yml +13 -0
  40. cachepot-0.5.0/pyproject.toml +112 -0
  41. cachepot-0.5.0/setup.cfg +4 -0
  42. cachepot-0.5.0/tests/backend/test_filesystem.py +470 -0
  43. cachepot-0.5.0/tests/backend/test_redis.py +123 -0
  44. cachepot-0.5.0/tests/backend/test_sqlite.py +381 -0
  45. cachepot-0.5.0/tests/serializer/test_pickle.py +116 -0
  46. cachepot-0.5.0/tests/test_example.py +35 -0
  47. cachepot-0.5.0/tests/test_expire.py +36 -0
  48. cachepot-0.5.0/tests/test_store.py +551 -0
  49. cachepot-0.5.0/uv.lock +925 -0
  50. cachepot-0.3.0/.github/workflows/happy.yml +0 -18
  51. cachepot-0.3.0/.github/workflows/pypi-publish.yml +0 -57
  52. cachepot-0.3.0/.github/workflows/python-test.yml +0 -77
  53. cachepot-0.3.0/.github/workflows/spellcheck.yml +0 -16
  54. cachepot-0.3.0/.gitignore +0 -244
  55. cachepot-0.3.0/.gitignore.in +0 -10
  56. cachepot-0.3.0/.isort.cfg +0 -4
  57. cachepot-0.3.0/README.md +0 -101
  58. cachepot-0.3.0/cachepot/_version.py +0 -16
  59. cachepot-0.3.0/cachepot/backend/__init__.py +0 -18
  60. cachepot-0.3.0/cachepot/backend/filesystem.py +0 -50
  61. cachepot-0.3.0/cachepot/backend/redis.py +0 -27
  62. cachepot-0.3.0/cachepot/backend/sqlite.py +0 -74
  63. cachepot-0.3.0/cachepot/expire.py +0 -10
  64. cachepot-0.3.0/cachepot/serializer/__init__.py +0 -13
  65. cachepot-0.3.0/cachepot/serializer/pickle.py +0 -12
  66. cachepot-0.3.0/cachepot/store/__init__.py +0 -99
  67. cachepot-0.3.0/cachepot.egg-info/PKG-INFO +0 -125
  68. cachepot-0.3.0/cachepot.egg-info/requires.txt +0 -4
  69. cachepot-0.3.0/cachepot.egg-info/top_level.txt +0 -3
  70. cachepot-0.3.0/poetry.lock +0 -748
  71. cachepot-0.3.0/pyproject.toml +0 -72
  72. cachepot-0.3.0/setup.cfg +0 -49
  73. cachepot-0.3.0/tests/backend/test_filesystem.py +0 -32
  74. cachepot-0.3.0/tests/backend/test_redis.py +0 -24
  75. cachepot-0.3.0/tests/backend/test_sqlite.py +0 -32
  76. cachepot-0.3.0/tests/serializer/__init__.py +0 -0
  77. cachepot-0.3.0/tests/serializer/test_pickle.py +0 -26
  78. cachepot-0.3.0/tests/test_expire.py +0 -15
  79. cachepot-0.3.0/tests/test_store.py +0 -31
  80. {cachepot-0.3.0 → cachepot-0.5.0}/.github/renovate.json5 +0 -0
  81. {cachepot-0.3.0 → cachepot-0.5.0}/LICENSE +0 -0
  82. {cachepot-0.3.0 → cachepot-0.5.0}/cachepot/py.typed +0 -0
  83. {cachepot-0.3.0 → cachepot-0.5.0}/cachepot/serializer/str.py +0 -0
  84. {cachepot-0.3.0 → cachepot-0.5.0}/cachepot.egg-info/dependency_links.txt +0 -0
  85. {cachepot-0.3.0 → cachepot-0.5.0}/docker-compose.test.yml +0 -0
  86. {cachepot-0.3.0/cachepot → cachepot-0.5.0/tests}/__init__.py +0 -0
  87. {cachepot-0.3.0/tests → cachepot-0.5.0/tests/backend}/__init__.py +0 -0
  88. {cachepot-0.3.0/tests/backend → cachepot-0.5.0/tests/serializer}/__init__.py +0 -0
  89. {cachepot-0.3.0 → cachepot-0.5.0}/tests/serializer/test_json.py +0 -0
  90. {cachepot-0.3.0 → cachepot-0.5.0}/tests/serializer/test_str.py +0 -0
@@ -0,0 +1,2 @@
1
+ [run]
2
+ branch = True
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: Bug report
3
+ about: Report a bug in cachepot
4
+ title: ''
5
+ labels: bug
6
+ assignees: ''
7
+ ---
8
+
9
+ **Describe the bug**
10
+ A clear and concise description of what the bug is.
11
+
12
+ **To reproduce**
13
+ Minimal code to reproduce the problem:
14
+
15
+ ```python
16
+ from cachepot...
17
+ ```
18
+
19
+ **Expected behavior**
20
+ What you expected to happen.
21
+
22
+ **Actual behavior**
23
+ What actually happened (include any error messages or tracebacks).
24
+
25
+ **Environment**
26
+ - Python version:
27
+ - cachepot version:
28
+ - OS:
29
+ - Backend used (filesystem, sqlite, redis, etc.):
30
+
31
+ **Additional context**
32
+ Any other relevant information.
@@ -0,0 +1,19 @@
1
+ ---
2
+ name: Feature request
3
+ about: Suggest a new feature or improvement for cachepot
4
+ title: ''
5
+ labels: enhancement
6
+ assignees: ''
7
+ ---
8
+
9
+ **Problem or motivation**
10
+ Describe the problem you are trying to solve or the improvement you would like to see.
11
+
12
+ **Proposed solution**
13
+ Describe the solution you have in mind (new serializer, backend, API change, etc.).
14
+
15
+ **Alternatives considered**
16
+ Any alternative approaches you have thought about.
17
+
18
+ **Additional context**
19
+ Any other context or references.
@@ -0,0 +1,16 @@
1
+ ## Summary
2
+
3
+ <!-- Describe what this PR changes and why. -->
4
+
5
+ ## Changes
6
+
7
+ <!-- List the specific changes made. -->
8
+
9
+ ## Testing
10
+
11
+ - [ ] `uv run poe check` passes (lint, type check, format)
12
+ - [ ] `uv run poe test` passes
13
+
14
+ ## Related issues
15
+
16
+ <!-- Link related issues with "Closes #N" or "Refs #N". -->
@@ -0,0 +1,43 @@
1
+ name: CodeQL
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+ schedule:
9
+ # Weekly scan to catch newly discovered vulnerabilities
10
+ - cron: '0 9 * * 1'
11
+
12
+ permissions:
13
+ contents: read
14
+ security-events: write
15
+
16
+ concurrency:
17
+ group: ${{ github.workflow }}-${{ github.ref }}
18
+ cancel-in-progress: ${{ github.event_name == 'pull_request' }}
19
+
20
+ jobs:
21
+ analyze:
22
+ name: Analyze (${{ matrix.language }})
23
+ runs-on: ubuntu-latest
24
+ strategy:
25
+ fail-fast: false
26
+ matrix:
27
+ language: ['python']
28
+ steps:
29
+ - name: Checkout repository
30
+ uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
31
+
32
+ - name: Initialize CodeQL
33
+ uses: github/codeql-action/init@f3712979fa5f215279b101dd0a2e3bdfb4353324 # v3
34
+ with:
35
+ languages: ${{ matrix.language }}
36
+
37
+ - name: Autobuild
38
+ uses: github/codeql-action/autobuild@f3712979fa5f215279b101dd0a2e3bdfb4353324 # v3
39
+
40
+ - name: Perform CodeQL Analysis
41
+ uses: github/codeql-action/analyze@f3712979fa5f215279b101dd0a2e3bdfb4353324 # v3
42
+ with:
43
+ category: "/language:${{ matrix.language }}"
@@ -0,0 +1,18 @@
1
+ name: Update gitignore file
2
+
3
+ on:
4
+ schedule:
5
+ # daily at 00:00
6
+ - cron: '0 0 * * *'
7
+
8
+ concurrency:
9
+ group: ${{ github.workflow }}-${{ github.ref }}
10
+ cancel-in-progress: true
11
+
12
+ permissions:
13
+ contents: write
14
+ pull-requests: write
15
+
16
+ jobs:
17
+ update-gitignore:
18
+ uses: kitsuyui/gh-actions-workflows/.github/workflows/gitignore-in.yml@a7071a4635eaece62696cd7132306616ce283c47
@@ -0,0 +1,15 @@
1
+ name: happy-commit
2
+ on:
3
+ - pull_request
4
+
5
+ concurrency:
6
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
7
+ cancel-in-progress: ${{ github.event_name == 'pull_request' || github.event_name == 'push' }}
8
+
9
+ permissions:
10
+ contents: read
11
+ pull-requests: write
12
+ issues: write
13
+ jobs:
14
+ happy:
15
+ uses: kitsuyui/gh-actions-workflows/.github/workflows/happy-commit.yml@a7071a4635eaece62696cd7132306616ce283c47
@@ -0,0 +1,55 @@
1
+ name: octocov
2
+ on:
3
+ pull_request:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ concurrency:
9
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
10
+ cancel-in-progress: ${{ github.event_name == 'pull_request' || github.event_name == 'push' }}
11
+
12
+ permissions:
13
+ contents: read
14
+ pull-requests: write
15
+ checks: write
16
+
17
+ jobs:
18
+ octocov:
19
+ runs-on: ubuntu-latest
20
+
21
+ services:
22
+ redis:
23
+ image: redis:8.6.3@sha256:25dbb04fc4d6d190eda327dab551631500b0f9ac8f9808e8e63b7fda1ddff196
24
+ options: >-
25
+ --health-cmd "redis-cli ping"
26
+ --health-interval 10s
27
+ --health-timeout 5s
28
+ --health-retries 5
29
+ ports:
30
+ - 6379:6379
31
+
32
+ steps:
33
+ - name: Checkout
34
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
35
+
36
+ - name: Enable caching
37
+ uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7
38
+ with:
39
+ enable-cache: true
40
+
41
+ - name: Install dependencies
42
+ run: uv sync
43
+
44
+ - name: Test
45
+ run: uv run poe test
46
+
47
+ - name: Coverage
48
+ run: uv run poe coverage-xml
49
+
50
+ # See also: https://github.com/k1LoW/octocov-action
51
+ - name: Report coverage with octocov
52
+ uses: k1LoW/octocov-action@b3b6ee60482a667950f87553abf1df63217235d9 # v1
53
+ with:
54
+ github-token: ${{ secrets.GITHUB_TOKEN }}
55
+ config: .octocov.yml
@@ -0,0 +1,51 @@
1
+ name: Packaging
2
+
3
+ permissions:
4
+ contents: read
5
+
6
+ on:
7
+ pull_request:
8
+ types: [opened, synchronize, reopened]
9
+ release:
10
+ # "released" events are emitted either when directly be released or be edited from pre-released.
11
+ types: [prereleased, released]
12
+
13
+ concurrency:
14
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
15
+ cancel-in-progress: ${{ github.event_name == 'pull_request' || github.event_name == 'push' }}
16
+
17
+ env:
18
+ python_version: 3.13
19
+
20
+ jobs:
21
+ deploy:
22
+ permissions:
23
+ contents: read
24
+ id-token: write
25
+ runs-on: ubuntu-latest
26
+ steps:
27
+ - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
28
+
29
+ - name: Enable caching
30
+ uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7
31
+ with:
32
+ enable-cache: true
33
+
34
+ - run: |
35
+ uv python pin ${{ env.python_version }}
36
+ uv sync
37
+
38
+ - name: Build
39
+ run: uv build
40
+
41
+ - name: Publish distribution to Test PyPI
42
+ uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # release/v1
43
+ if: github.event_name == 'release' && github.event.release.prerelease
44
+ with:
45
+ repository-url: https://test.pypi.org/legacy/
46
+
47
+ - name: Publish distribution to PyPI
48
+ if: github.event_name == 'release' && !github.event.release.prerelease
49
+ uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # release/v1
50
+ with:
51
+ generate-attestations: true
@@ -0,0 +1,68 @@
1
+ name: Test
2
+ on:
3
+ # pull-request events are not triggered when a PR is merged
4
+ # push events are not triggered when a PR created from a fork repository
5
+ # So we need both to run tests on every PR and after merging
6
+ pull_request:
7
+ push:
8
+ branches:
9
+ - main
10
+
11
+ concurrency:
12
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
13
+ cancel-in-progress: ${{ github.event_name == 'pull_request' || github.event_name == 'push' }}
14
+
15
+ permissions:
16
+ contents: read
17
+
18
+ jobs:
19
+ test:
20
+ runs-on: ubuntu-latest
21
+ strategy:
22
+ fail-fast: false
23
+ matrix:
24
+ python: ["3.10", "3.11", "3.12", "3.13", "3.14"]
25
+
26
+ services:
27
+ redis:
28
+ image: redis:8.6.3@sha256:25dbb04fc4d6d190eda327dab551631500b0f9ac8f9808e8e63b7fda1ddff196
29
+ options: >-
30
+ --health-cmd "redis-cli ping"
31
+ --health-interval 10s
32
+ --health-timeout 5s
33
+ --health-retries 5
34
+ ports:
35
+ - 6379:6379
36
+
37
+ steps:
38
+ - name: Checkout
39
+ uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
40
+
41
+ - name: Enable caching
42
+ uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7
43
+ with:
44
+ enable-cache: true
45
+
46
+ - name: Install dependencies
47
+ run: |
48
+ uv python pin ${{ matrix.python }}
49
+ uv sync
50
+
51
+ - parallel:
52
+ - name: Lint
53
+ run: uv run poe check
54
+
55
+ - name: Check Python version
56
+ run: |
57
+ actual_version=$(uv run python --version)
58
+ expected_version="Python ${{ matrix.python }}"
59
+ if [[ "$actual_version" != *"$expected_version"* ]]; then
60
+ echo "Expected $expected_version, but got $actual_version"
61
+ exit 1
62
+ fi
63
+
64
+ - name: Test
65
+ run: uv run poe test
66
+
67
+ - name: Coverage
68
+ run: uv run poe coverage-xml
@@ -0,0 +1,13 @@
1
+ name: Spellcheck
2
+ on:
3
+ - pull_request
4
+
5
+ concurrency:
6
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
7
+ cancel-in-progress: ${{ github.event_name == 'pull_request' || github.event_name == 'push' }}
8
+
9
+ permissions:
10
+ contents: read
11
+ jobs:
12
+ check:
13
+ uses: kitsuyui/gh-actions-workflows/.github/workflows/spellcheck.yml@8019e658f4665c962d0a88eb38b3b6be418e7be8
@@ -0,0 +1,343 @@
1
+ # DO NOT EDIT THIS FILE
2
+ # Generated by gitignore.in
3
+ # Edit .gitignore.in instead of this file
4
+ # Run `gitignore.in` to build .gitignore
5
+ # -----------------------------------------------------------------------------
6
+ # gibo dump Linux
7
+ ### Generated by gibo (https://github.com/simonwhitaker/gibo)
8
+ ### https://raw.github.com/github/gitignore/576334520435382d6522f349b9d270eda1e79a25/Global/Linux.gitignore
9
+
10
+ *~
11
+
12
+ # temporary files which can be created if a process still has a handle open of a deleted file
13
+ .fuse_hidden*
14
+
15
+ # Metadata left by Dolphin file manager, which comes with KDE Plasma
16
+ .directory
17
+
18
+ # Linux trash folder which might appear on any partition or disk
19
+ .Trash-*
20
+
21
+ # .nfs files are created when an open file is removed but is still being accessed
22
+ .nfs*
23
+
24
+ # Log files created by default by the nohup command
25
+ nohup.out
26
+ # -----------------------------------------------------------------------------
27
+ # gibo dump Windows
28
+ ### Generated by gibo (https://github.com/simonwhitaker/gibo)
29
+ ### https://raw.github.com/github/gitignore/576334520435382d6522f349b9d270eda1e79a25/Global/Windows.gitignore
30
+
31
+ # Windows thumbnail cache files
32
+ Thumbs.db
33
+ Thumbs.db:encryptable
34
+ ehthumbs.db
35
+ ehthumbs_vista.db
36
+
37
+ # Dump file
38
+ *.stackdump
39
+
40
+ # Folder config file
41
+ [Dd]esktop.ini
42
+
43
+ # Recycle Bin used on file shares
44
+ $RECYCLE.BIN/
45
+
46
+ # Windows Installer files
47
+ *.cab
48
+ *.msi
49
+ *.msix
50
+ *.msm
51
+ *.msp
52
+
53
+ # Windows shortcuts
54
+ *.lnk
55
+ # -----------------------------------------------------------------------------
56
+ # gibo dump macOS
57
+ ### Generated by gibo (https://github.com/simonwhitaker/gibo)
58
+ ### https://raw.github.com/github/gitignore/576334520435382d6522f349b9d270eda1e79a25/Global/macOS.gitignore
59
+
60
+ # General
61
+ .DS_Store
62
+ .localized
63
+ __MACOSX/
64
+ .AppleDouble
65
+ .LSOverride
66
+ Icon[
67
+
68
+ # Resource forks
69
+ ._*
70
+
71
+ # Files and directories that might appear in the root of a volume
72
+ .DocumentRevisions-V100
73
+ .fseventsd
74
+ .Spotlight-V100
75
+ .TemporaryItems
76
+ .Trashes
77
+ .VolumeIcon.icns
78
+ .com.apple.timemachine.donotpresent
79
+ .com.apple.timemachine.supported
80
+ .PKInstallSandboxManager
81
+ .PKInstallSandboxManager-SystemSoftware
82
+ .hotfiles.btree
83
+ .vol
84
+ .file
85
+ .disk_label*
86
+ lost+found
87
+ .HFS+ Private Directory Data[
88
+
89
+ # Directories potentially created on remote AFP share
90
+ .AppleDB
91
+ .AppleDesktop
92
+ Network Trash Folder
93
+ Temporary Items
94
+ .apdisk
95
+
96
+ # Mac OS 6 to 9
97
+ Desktop DB
98
+ Desktop DF
99
+ TheFindByContentFolder
100
+ TheVolumeSettingsFolder
101
+ .FBCIndex
102
+ .FBCSemaphoreFile
103
+ .FBCLockFolder
104
+
105
+ # Quota system
106
+ .quota.group
107
+ .quota.user
108
+ .quota.ops.group
109
+ .quota.ops.user
110
+
111
+ # TimeMachine
112
+ Backups.backupdb
113
+ .MobileBackups
114
+ .MobileBackups.trash
115
+ MobileBackups.trash
116
+ tmbootpicker.efi
117
+ # -----------------------------------------------------------------------------
118
+ # gibo dump Python
119
+ ### Generated by gibo (https://github.com/simonwhitaker/gibo)
120
+ ### https://raw.github.com/github/gitignore/576334520435382d6522f349b9d270eda1e79a25/Python.gitignore
121
+
122
+ # Byte-compiled / optimized / DLL files
123
+ __pycache__/
124
+ *.py[codz]
125
+ *$py.class
126
+
127
+ # C extensions
128
+ *.so
129
+
130
+ # Distribution / packaging
131
+ .Python
132
+ build/
133
+ develop-eggs/
134
+ dist/
135
+ downloads/
136
+ eggs/
137
+ .eggs/
138
+ lib/
139
+ lib64/
140
+ parts/
141
+ sdist/
142
+ var/
143
+ wheels/
144
+ share/python-wheels/
145
+ *.egg-info/
146
+ .installed.cfg
147
+ *.egg
148
+ MANIFEST
149
+
150
+ # PyInstaller
151
+ # Usually these files are written by a python script from a template
152
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
153
+ *.manifest
154
+ *.spec
155
+
156
+ # Installer logs
157
+ pip-log.txt
158
+ pip-delete-this-directory.txt
159
+
160
+ # Unit test / coverage reports
161
+ htmlcov/
162
+ .tox/
163
+ .nox/
164
+ .coverage
165
+ .coverage.*
166
+ .cache
167
+ nosetests.xml
168
+ coverage.xml
169
+ *.cover
170
+ *.py.cover
171
+ *.lcov
172
+ .hypothesis/
173
+ .pytest_cache/
174
+ cover/
175
+
176
+ # Translations
177
+ *.mo
178
+ *.pot
179
+
180
+ # Django stuff:
181
+ *.log
182
+ local_settings.py
183
+ db.sqlite3
184
+ db.sqlite3-journal
185
+
186
+ # Flask stuff:
187
+ instance/
188
+ .webassets-cache
189
+
190
+ # Scrapy stuff:
191
+ .scrapy
192
+
193
+ # Sphinx documentation
194
+ docs/_build/
195
+
196
+ # PyBuilder
197
+ .pybuilder/
198
+ target/
199
+
200
+ # Jupyter Notebook
201
+ .ipynb_checkpoints
202
+
203
+ # IPython
204
+ profile_default/
205
+ ipython_config.py
206
+
207
+ # pyenv
208
+ # For a library or package, you might want to ignore these files since the code is
209
+ # intended to run in multiple environments; otherwise, check them in:
210
+ # .python-version
211
+
212
+ # pipenv
213
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
214
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
215
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
216
+ # install all needed dependencies.
217
+ # Pipfile.lock
218
+
219
+ # UV
220
+ # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
221
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
222
+ # commonly ignored for libraries.
223
+ # uv.lock
224
+
225
+ # poetry
226
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
227
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
228
+ # commonly ignored for libraries.
229
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
230
+ # poetry.lock
231
+ # poetry.toml
232
+
233
+ # pdm
234
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
235
+ # pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python.
236
+ # https://pdm-project.org/en/latest/usage/project/#working-with-version-control
237
+ # pdm.lock
238
+ # pdm.toml
239
+ .pdm-python
240
+ .pdm-build/
241
+
242
+ # pixi
243
+ # Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control.
244
+ # pixi.lock
245
+ # Pixi creates a virtual environment in the .pixi directory, just like venv module creates one
246
+ # in the .venv directory. It is recommended not to include this directory in version control.
247
+ .pixi/*
248
+ !.pixi/config.toml
249
+
250
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
251
+ __pypackages__/
252
+
253
+ # Celery stuff
254
+ celerybeat-schedule*
255
+ celerybeat.pid
256
+
257
+ # Redis
258
+ *.rdb
259
+ *.aof
260
+ *.pid
261
+
262
+ # RabbitMQ
263
+ mnesia/
264
+ rabbitmq/
265
+ rabbitmq-data/
266
+
267
+ # ActiveMQ
268
+ activemq-data/
269
+
270
+ # SageMath parsed files
271
+ *.sage.py
272
+
273
+ # Environments
274
+ .env
275
+ .envrc
276
+ .venv
277
+ env/
278
+ venv/
279
+ ENV/
280
+ env.bak/
281
+ venv.bak/
282
+
283
+ # Spyder project settings
284
+ .spyderproject
285
+ .spyproject
286
+
287
+ # Rope project settings
288
+ .ropeproject
289
+
290
+ # mkdocs documentation
291
+ /site
292
+
293
+ # mypy
294
+ .mypy_cache/
295
+ .dmypy.json
296
+ dmypy.json
297
+
298
+ # Pyre type checker
299
+ .pyre/
300
+
301
+ # pytype static type analyzer
302
+ .pytype/
303
+
304
+ # Cython debug symbols
305
+ cython_debug/
306
+
307
+ # PyCharm
308
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
309
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
310
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
311
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
312
+ # .idea/
313
+
314
+ # Abstra
315
+ # Abstra is an AI-powered process automation framework.
316
+ # Ignore directories containing user credentials, local state, and settings.
317
+ # Learn more at https://abstra.io/docs
318
+ .abstra/
319
+
320
+ # Visual Studio Code
321
+ # Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
322
+ # that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
323
+ # and can be added to the global gitignore or merged into this file. However, if you prefer,
324
+ # you could uncomment the following to ignore the entire vscode folder
325
+ # .vscode/
326
+ # Temporary file for partial code execution
327
+ tempCodeRunnerFile.py
328
+
329
+ # Ruff stuff:
330
+ .ruff_cache/
331
+
332
+ # PyPI configuration file
333
+ .pypirc
334
+
335
+ # Marimo
336
+ marimo/_static/
337
+ marimo/_lsp/
338
+ __marimo__/
339
+
340
+ # Streamlit
341
+ .streamlit/secrets.toml
342
+ # -----------------------------------------------------------------------------
343
+ _version.py
@@ -0,0 +1,5 @@
1
+ gibo dump Linux
2
+ gibo dump Windows
3
+ gibo dump macOS
4
+ gibo dump Python
5
+ echo '_version.py'