Skip to content

Commit fe20646

Browse files
committed
Initial commit
0 parents  commit fe20646

30 files changed

+5994
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# https://github.com/pypa/gh-action-pypi-publish
2+
name: Upload Python Package to PyPI
3+
on:
4+
release:
5+
types: [published]
6+
permissions:
7+
contents: read
8+
jobs:
9+
release-build:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v4
13+
- uses: actions/setup-python@v5
14+
with:
15+
python-version: "3.x"
16+
- name: Build release distributions
17+
run: |
18+
python -m pip install hatchling
19+
python -m hatchling build
20+
- name: Upload distributions
21+
uses: actions/upload-artifact@v4
22+
with:
23+
name: release-dists
24+
path: dist/
25+
pypi-publish:
26+
runs-on: ubuntu-latest
27+
needs:
28+
- release-build
29+
permissions:
30+
id-token: write
31+
environment:
32+
name: pypi
33+
steps:
34+
- name: Retrieve release distributions
35+
uses: actions/download-artifact@v4
36+
with:
37+
name: release-dists
38+
path: dist/
39+
- name: Publish release distributions to PyPI
40+
uses: pypa/gh-action-pypi-publish@release/v1
41+
with:
42+
packages-dir: dist/

.gitignore

Lines changed: 285 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,285 @@
1+
# Byte-compiled / optimized / DLL files
2+
__pycache__/
3+
*.py[codz]
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+
29+
# PyInstaller
30+
# Usually these files are written by a python script from a template
31+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
32+
*.manifest
33+
*.spec
34+
35+
# Installer logs
36+
pip-log.txt
37+
pip-delete-this-directory.txt
38+
39+
# Unit test / coverage reports
40+
htmlcov/
41+
.tox/
42+
.nox/
43+
.coverage
44+
.coverage.*
45+
.cache
46+
nosetests.xml
47+
coverage.xml
48+
*.cover
49+
*.py.cover
50+
.hypothesis/
51+
.pytest_cache/
52+
cover/
53+
54+
# Translations
55+
*.mo
56+
*.pot
57+
58+
# Django stuff:
59+
*.log
60+
local_settings.py
61+
db.sqlite3
62+
db.sqlite3-journal
63+
64+
# Flask stuff:
65+
instance/
66+
.webassets-cache
67+
68+
# Scrapy stuff:
69+
.scrapy
70+
71+
# Sphinx documentation
72+
docs/_build/
73+
74+
# PyBuilder
75+
.pybuilder/
76+
target/
77+
78+
# Jupyter Notebook
79+
.ipynb_checkpoints
80+
81+
# IPython
82+
profile_default/
83+
ipython_config.py
84+
85+
# pyenv
86+
# For a library or package, you might want to ignore these files since the code is
87+
# intended to run in multiple environments; otherwise, check them in:
88+
# .python-version
89+
90+
# pipenv
91+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
93+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
94+
# install all needed dependencies.
95+
#Pipfile.lock
96+
97+
# UV
98+
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
99+
# This is especially recommended for binary packages to ensure reproducibility, and is more
100+
# commonly ignored for libraries.
101+
#uv.lock
102+
103+
# poetry
104+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
105+
# This is especially recommended for binary packages to ensure reproducibility, and is more
106+
# commonly ignored for libraries.
107+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
108+
#poetry.lock
109+
#poetry.toml
110+
111+
# pdm
112+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
113+
# pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python.
114+
# https://pdm-project.org/en/latest/usage/project/#working-with-version-control
115+
#pdm.lock
116+
#pdm.toml
117+
.pdm-python
118+
.pdm-build/
119+
120+
# pixi
121+
# Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control.
122+
#pixi.lock
123+
# Pixi creates a virtual environment in the .pixi directory, just like venv module creates one
124+
# in the .venv directory. It is recommended not to include this directory in version control.
125+
.pixi
126+
127+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
128+
__pypackages__/
129+
130+
# Celery stuff
131+
celerybeat-schedule
132+
celerybeat.pid
133+
134+
# SageMath parsed files
135+
*.sage.py
136+
137+
# Environments
138+
.env
139+
.envrc
140+
.venv
141+
env/
142+
venv/
143+
ENV/
144+
env.bak/
145+
venv.bak/
146+
147+
# Spyder project settings
148+
.spyderproject
149+
.spyproject
150+
151+
# Rope project settings
152+
.ropeproject
153+
154+
# mkdocs documentation
155+
/site
156+
157+
# mypy
158+
.mypy_cache/
159+
.dmypy.json
160+
dmypy.json
161+
162+
# Pyre type checker
163+
.pyre/
164+
165+
# pytype static type analyzer
166+
.pytype/
167+
168+
# Cython debug symbols
169+
cython_debug/
170+
171+
# PyCharm
172+
# Covers JetBrains IDEs: IntelliJ, GoLand, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
173+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
174+
175+
# User-specific stuff
176+
.idea/**/workspace.xml
177+
.idea/**/tasks.xml
178+
.idea/**/usage.statistics.xml
179+
.idea/**/dictionaries
180+
.idea/**/shelf
181+
182+
# AWS User-specific
183+
.idea/**/aws.xml
184+
185+
# Generated files
186+
.idea/**/contentModel.xml
187+
188+
# Sensitive or high-churn files
189+
.idea/**/dataSources/
190+
.idea/**/dataSources.ids
191+
.idea/**/dataSources.local.xml
192+
.idea/**/sqlDataSources.xml
193+
.idea/**/dynamic.xml
194+
.idea/**/uiDesigner.xml
195+
.idea/**/dbnavigator.xml
196+
197+
# Gradle
198+
.idea/**/gradle.xml
199+
.idea/**/libraries
200+
201+
# Gradle and Maven with auto-import
202+
# When using Gradle or Maven with auto-import, you should exclude module files,
203+
# since they will be recreated, and may cause churn. Uncomment if using
204+
# auto-import.
205+
# .idea/artifacts
206+
# .idea/compiler.xml
207+
# .idea/jarRepositories.xml
208+
# .idea/modules.xml
209+
# .idea/*.iml
210+
# .idea/modules
211+
# *.iml
212+
# *.ipr
213+
214+
# CMake
215+
cmake-build-*/
216+
217+
# Mongo Explorer plugin
218+
.idea/**/mongoSettings.xml
219+
220+
# File-based project format
221+
*.iws
222+
223+
# IntelliJ
224+
out/
225+
226+
# mpeltonen/sbt-idea plugin
227+
.idea_modules/
228+
229+
# JIRA plugin
230+
atlassian-ide-plugin.xml
231+
232+
# Cursive Clojure plugin
233+
.idea/replstate.xml
234+
235+
# SonarLint plugin
236+
.idea/sonarlint/
237+
.idea/sonarlint.xml # see https://community.sonarsource.com/t/is-the-file-idea-idea-idea-sonarlint-xml-intended-to-be-under-source-control/121119
238+
239+
# Crashlytics plugin (for Android Studio and IntelliJ)
240+
com_crashlytics_export_strings.xml
241+
crashlytics.properties
242+
crashlytics-build.properties
243+
fabric.properties
244+
245+
# Editor-based HTTP Client
246+
.idea/httpRequests
247+
http-client.private.env.json
248+
249+
# Android studio 3.1+ serialized cache file
250+
.idea/caches/build_file_checksums.ser
251+
252+
# Apifox Helper cache
253+
.idea/.cache/.Apifox_Helper
254+
.idea/ApifoxUploaderProjectSetting.xml
255+
256+
# Abstra
257+
# Abstra is an AI-powered process automation framework.
258+
# Ignore directories containing user credentials, local state, and settings.
259+
# Learn more at https://abstra.io/docs
260+
.abstra/
261+
262+
# Visual Studio Code
263+
# Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
264+
# that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
265+
# and can be added to the global gitignore or merged into this file. However, if you prefer,
266+
# you could uncomment the following to ignore the entire vscode folder
267+
# .vscode/
268+
269+
# Ruff stuff:
270+
.ruff_cache/
271+
272+
# PyPI configuration file
273+
.pypirc
274+
275+
# Cursor
276+
# Cursor is an AI-powered code editor. `.cursorignore` specifies files/directories to
277+
# exclude from AI features like autocomplete and code analysis. Recommended for sensitive data
278+
# refer to https://docs.cursor.com/context/ignore-files
279+
.cursorignore
280+
.cursorindexingignore
281+
282+
# Marimo
283+
marimo/_static/
284+
marimo/_lsp/
285+
__marimo__/

.idea/.gitignore

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/giso.iml

Lines changed: 16 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)