Skip to content

Commit b2780f5

Browse files
committed
added build setup files
1 parent d2529ef commit b2780f5

File tree

4 files changed

+349
-3
lines changed

4 files changed

+349
-3
lines changed

.gitignore

Lines changed: 173 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,174 @@
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
111
build/
2-
.cache/
3-
.venv/
4-
python/__pycache__/
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+
110+
# pdm
111+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
112+
#pdm.lock
113+
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
114+
# in version control.
115+
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
116+
.pdm.toml
117+
.pdm-python
118+
.pdm-build/
119+
120+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
121+
__pypackages__/
122+
123+
# Celery stuff
124+
celerybeat-schedule
125+
celerybeat.pid
126+
127+
# SageMath parsed files
128+
*.sage.py
129+
130+
# Environments
131+
.env
132+
.venv
133+
env/
134+
venv/
135+
ENV/
136+
env.bak/
137+
venv.bak/
138+
139+
# Spyder project settings
140+
.spyderproject
141+
.spyproject
142+
143+
# Rope project settings
144+
.ropeproject
145+
146+
# mkdocs documentation
147+
/site
148+
149+
# mypy
150+
.mypy_cache/
151+
.dmypy.json
152+
dmypy.json
153+
154+
# Pyre type checker
155+
.pyre/
156+
157+
# pytype static type analyzer
158+
.pytype/
159+
160+
# Cython debug symbols
161+
cython_debug/
162+
163+
# PyCharm
164+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
165+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
166+
# and can be added to the global gitignore or merged into this file. For a more nuclear
167+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
168+
#.idea/
169+
170+
# Ruff stuff:
171+
.ruff_cache/
172+
173+
# PyPI configuration file
174+
.pypirc

pyproject.toml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
[build-system]
2+
requires = ["hatchling"]
3+
build-backend = "hatchling.build"
4+
5+
[project]
6+
name = "deka"
7+
version = "0.1.0"
8+
description = "Deterministic Kaczmarz Algorithm with Greedy Selection and Smoothing"
9+
readme = "README.md"
10+
requires-python = ">=3.8"
11+
dependencies = [
12+
"numpy>=1.21.0",
13+
"matplotlib>=3.4.0",
14+
"autograd>=1.4",
15+
]
16+
17+
[project.optional-dependencies]
18+
dev = [
19+
"pytest>=6.0",
20+
"jupyter>=1.0.0",
21+
"ruff>=0.3.0",
22+
]
23+
24+
[tool.pytest.ini_options]
25+
testpaths = ["tests"]
26+
python_files = ["test_*.py"]
27+
28+
[tool.ruff]
29+
line-length = 88
30+
target-version = "py38"
31+
32+
[tool.ruff.lint]
33+
select = [
34+
"E", # pycodestyle errors
35+
"F", # Pyflakes
36+
"I", # isort
37+
"B", # flake8-bugbear
38+
]
39+
40+
[tool.ruff.format]
41+
quote-style = "double"
42+
indent-style = "space"
43+
skip-magic-trailing-comma = false
44+
line-ending = "auto"

requirements.txt

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
anyio==4.9.0
2+
argon2-cffi==23.1.0
3+
argon2-cffi-bindings==21.2.0
4+
arrow==1.3.0
5+
asttokens==3.0.0
6+
async-lru==2.0.5
7+
attrs==25.3.0
8+
autograd==1.7.0
9+
babel==2.17.0
10+
beautifulsoup4==4.13.4
11+
black==25.1.0
12+
bleach==6.2.0
13+
certifi==2025.4.26
14+
cffi==1.17.1
15+
charset-normalizer==3.4.2
16+
click==8.2.0
17+
comm==0.2.2
18+
contourpy==1.3.1
19+
cycler==0.12.1
20+
debugpy==1.8.14
21+
decorator==5.2.1
22+
defusedxml==0.7.1
23+
exceptiongroup==1.3.0
24+
executing==2.2.0
25+
fastjsonschema==2.21.1
26+
flake8==7.2.0
27+
fonttools==4.56.0
28+
fqdn==1.5.1
29+
h11==0.16.0
30+
hatchling==1.27.0
31+
httpcore==1.0.9
32+
httpx==0.28.1
33+
idna==3.10
34+
iniconfig==2.1.0
35+
ipykernel==6.29.5
36+
ipython==8.36.0
37+
ipywidgets==8.1.7
38+
isoduration==20.11.0
39+
jedi==0.19.2
40+
jinja2==3.1.6
41+
json5==0.12.0
42+
jsonpointer==3.0.0
43+
jsonschema==4.23.0
44+
jsonschema-specifications==2025.4.1
45+
jupyter==1.1.1
46+
jupyter-client==8.6.3
47+
jupyter-console==6.6.3
48+
jupyter-core==5.7.2
49+
jupyter-events==0.12.0
50+
jupyter-lsp==2.2.5
51+
jupyter-server==2.16.0
52+
jupyter-server-terminals==0.5.3
53+
jupyterlab==4.4.2
54+
jupyterlab-pygments==0.3.0
55+
jupyterlab-server==2.27.3
56+
jupyterlab-widgets==3.0.15
57+
kiwisolver==1.4.8
58+
markupsafe==3.0.2
59+
matplotlib==3.10.1
60+
matplotlib-inline==0.1.7
61+
mccabe==0.7.0
62+
mistune==3.1.3
63+
mypy-extensions==1.1.0
64+
nbclient==0.10.2
65+
nbconvert==7.16.6
66+
nbformat==5.10.4
67+
nest-asyncio==1.6.0
68+
notebook==7.4.2
69+
notebook-shim==0.2.4
70+
numpy==2.2.4
71+
overrides==7.7.0
72+
packaging==24.2
73+
pandocfilters==1.5.1
74+
parso==0.8.4
75+
pathspec==0.12.1
76+
pexpect==4.9.0
77+
pillow==11.1.0
78+
platformdirs==4.3.8
79+
pluggy==1.5.0
80+
prometheus-client==0.21.1
81+
prompt-toolkit==3.0.51
82+
psutil==7.0.0
83+
ptyprocess==0.7.0
84+
pure-eval==0.2.3
85+
pycodestyle==2.13.0
86+
pycparser==2.22
87+
pyflakes==3.3.2
88+
pygments==2.19.1
89+
pyparsing==3.2.3
90+
pyqt5==5.15.11
91+
pyqt5-qt5==5.15.16
92+
pyqt5-sip==12.17.0
93+
pyqt6==6.8.1
94+
pyqt6-qt6==6.8.2
95+
pyqt6-sip==13.10.0
96+
pytest==8.3.5
97+
python-dateutil==2.9.0.post0
98+
python-json-logger==3.3.0
99+
pyyaml==6.0.2
100+
pyzmq==26.4.0
101+
referencing==0.36.2
102+
requests==2.32.3
103+
rfc3339-validator==0.1.4
104+
rfc3986-validator==0.1.1
105+
rpds-py==0.24.0
106+
ruff==0.11.9
107+
send2trash==1.8.3
108+
setuptools==80.4.0
109+
six==1.17.0
110+
sniffio==1.3.1
111+
soupsieve==2.7
112+
stack-data==0.6.3
113+
terminado==0.18.1
114+
tinycss2==1.4.0
115+
tomli==2.2.1
116+
tornado==6.4.2
117+
traitlets==5.14.3
118+
trove-classifiers==2025.5.9.12
119+
types-python-dateutil==2.9.0.20241206
120+
typing-extensions==4.13.2
121+
uri-template==1.3.0
122+
urllib3==2.4.0
123+
wcwidth==0.2.13
124+
webcolors==24.11.1
125+
webencodings==0.5.1
126+
websocket-client==1.8.0
127+
widgetsnbextension==4.0.14

setup.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
"""Setup configuration for DeKA package."""
2+
3+
from setuptools import setup
4+
5+
setup()

0 commit comments

Comments
 (0)