dyada 0.0.1__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.
@@ -0,0 +1,36 @@
1
+ name: PyPI when Release
2
+
3
+ on:
4
+ release:
5
+ types: [created]
6
+ workflow_dispatch:
7
+
8
+ jobs:
9
+ pypi-publish:
10
+ name: Publish release to PyPI
11
+ runs-on: ubuntu-latest
12
+ environment:
13
+ name: pypi
14
+ url: https://pypi.org/p/dyada
15
+ permissions:
16
+ id-token: write
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+ - name: Set up Python
20
+ uses: actions/setup-python@v4
21
+ with:
22
+ python-version: "3.x"
23
+ - name: Install build
24
+ run: |
25
+ python -m pip install --upgrade pip
26
+ pip install build
27
+ - name: Build package
28
+ run: |
29
+ python -m build
30
+ - name: Store the distribution packages
31
+ uses: actions/upload-artifact@v4
32
+ with:
33
+ name: python-package-distributions
34
+ path: dist/
35
+ - name: Publish package distributions to PyPI
36
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,115 @@
1
+ # This workflow will install Python dependencies, run tests and lint with a variety of Python versions
2
+ # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
3
+
4
+ name: Python package
5
+
6
+ on:
7
+ push:
8
+ branches: ["main"]
9
+ pull_request:
10
+ branches: ["main"]
11
+ workflow_dispatch:
12
+
13
+ jobs:
14
+ lint:
15
+ runs-on: ubuntu-latest
16
+ strategy:
17
+ fail-fast: false
18
+ steps:
19
+ - uses: actions/checkout@v4
20
+ - name: Set up Python "3.10"
21
+ uses: actions/setup-python@v3
22
+ with:
23
+ python-version: "3.10"
24
+ - name: Install dependencies
25
+ run: |
26
+ python -m pip install --upgrade pip
27
+ python -m pip install black flake8 mypy
28
+ if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
29
+ - name: Run linters
30
+ uses: wearerequired/lint-action@v2
31
+ with:
32
+ black: true
33
+ - name: Lint with flake8
34
+ run: |
35
+ # stop the build if there are Python syntax errors or undefined names
36
+ flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
37
+ # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
38
+ flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
39
+ - name: Run mypy
40
+ uses: sasanquaneuf/mypy-github-action@releases/v1
41
+ with:
42
+ checkName: "lint" # NOTE: this needs to be the same as the job name
43
+ env:
44
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
45
+ build:
46
+ runs-on: ubuntu-latest
47
+ strategy:
48
+ fail-fast: false
49
+ matrix:
50
+ python-version: ["3.10", "3.11"]
51
+ steps:
52
+ - uses: actions/checkout@v4
53
+ - name: Set up Python ${{ matrix.python-version }}
54
+ uses: actions/setup-python@v3
55
+ with:
56
+ python-version: ${{ matrix.python-version }}
57
+ - name: Install dependencies
58
+ run: |
59
+ python -m pip install --upgrade pip
60
+ python -m pip install pytest pytest-cov
61
+ if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
62
+ - name: Install DyAda module
63
+ run: pip install -e .
64
+ - name: Test with pytest
65
+ run: |
66
+ pytest test/ --doctest-modules --junitxml=junit/test-results.xml
67
+
68
+ coverage:
69
+ runs-on: ubuntu-latest
70
+ strategy:
71
+ fail-fast: false
72
+ steps:
73
+ - uses: actions/checkout@v4
74
+ - name: Set up Python "3.10"
75
+ uses: actions/setup-python@v3
76
+ with:
77
+ python-version: "3.10"
78
+ - name: Install dependencies
79
+ run: |
80
+ python -m pip install --upgrade pip
81
+ python -m pip install pytest pytest-cov
82
+ if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
83
+ - name: Install DyAda module
84
+ run: pip install -e .
85
+ - name: Test with pytest, to create cov report
86
+ run: |
87
+ pytest test/ --cov=dyada --cov-report=xml --cov-report=html
88
+ - name: Get coverage, fail if under 90%
89
+ run: |
90
+ coverage report --precision=1 --fail-under=90 --show-missing --skip-empty
91
+ - name: Coverage Badge
92
+ uses: tj-actions/coverage-badge-py@v2
93
+
94
+ - name: Verify changed files (badge)
95
+ uses: tj-actions/verify-changed-files@v17
96
+ id: verify-changed-files
97
+ with:
98
+ files: coverage.svg
99
+
100
+ - name: Commit badge file
101
+ if: steps.verify-changed-files.outputs.files_changed == 'true'
102
+ run: |
103
+ git config --local user.email "github-actions[bot]@users.noreply.github.com"
104
+ git config --local user.name "github-actions[bot]"
105
+ git add coverage.svg
106
+ git commit -m "Updated coverage.svg"
107
+
108
+ - name: Push changes
109
+ if: |
110
+ steps.verify-changed-files.outputs.files_changed == 'true' &&
111
+ github.event_name != 'pull_request'
112
+ uses: ad-m/github-push-action@master
113
+ with:
114
+ github_token: ${{ secrets.github_token }}
115
+ branch: ${{ github.ref }}
dyada-0.0.1/.gitignore ADDED
@@ -0,0 +1,474 @@
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
+
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
+ # poetry
98
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
99
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
100
+ # commonly ignored for libraries.
101
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
102
+ #poetry.lock
103
+
104
+ # pdm
105
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
106
+ #pdm.lock
107
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
108
+ # in version control.
109
+ # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
110
+ .pdm.toml
111
+ .pdm-python
112
+ .pdm-build/
113
+
114
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
115
+ __pypackages__/
116
+
117
+ # Celery stuff
118
+ celerybeat-schedule
119
+ celerybeat.pid
120
+
121
+ # SageMath parsed files
122
+ *.sage.py
123
+
124
+ # Environments
125
+ .env
126
+ .venv
127
+ env/
128
+ venv/
129
+ ENV/
130
+ env.bak/
131
+ venv.bak/
132
+
133
+ # Spyder project settings
134
+ .spyderproject
135
+ .spyproject
136
+
137
+ # Rope project settings
138
+ .ropeproject
139
+
140
+ # mkdocs documentation
141
+ /site
142
+
143
+ # mypy
144
+ .mypy_cache/
145
+ .dmypy.json
146
+ dmypy.json
147
+
148
+ # Pyre type checker
149
+ .pyre/
150
+
151
+ # pytype static type analyzer
152
+ .pytype/
153
+
154
+ # Cython debug symbols
155
+ cython_debug/
156
+
157
+ # PyCharm
158
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
159
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
160
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
161
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
162
+ #.idea/
163
+
164
+ ## exclude "normal" image and TeX files as well, all is generated here
165
+ *.png
166
+ *.pdf
167
+ *.tex
168
+
169
+ ## Core latex/pdflatex auxiliary files:
170
+ *.aux
171
+ *.lof
172
+ *.log
173
+ *.lot
174
+ *.fls
175
+ *.out
176
+ *.toc
177
+ *.fmt
178
+ *.fot
179
+ *.cb
180
+ *.cb2
181
+ .*.lb
182
+
183
+ ## Intermediate documents:
184
+ *.dvi
185
+ *.xdv
186
+ *-converted-to.*
187
+ # these rules might exclude image files for figures etc.
188
+ # *.ps
189
+ # *.eps
190
+ # *.pdf
191
+
192
+ ## Generated if empty string is given at "Please type another file name for output:"
193
+ .pdf
194
+
195
+ ## Bibliography auxiliary files (bibtex/biblatex/biber):
196
+ *.bbl
197
+ *.bcf
198
+ *.blg
199
+ *-blx.aux
200
+ *-blx.bib
201
+ *.run.xml
202
+
203
+ ## Build tool auxiliary files:
204
+ *.fdb_latexmk
205
+ *.synctex
206
+ *.synctex(busy)
207
+ *.synctex.gz
208
+ *.synctex.gz(busy)
209
+ *.pdfsync
210
+ *.rubbercache
211
+ rubber.cache
212
+
213
+ ## Build tool directories for auxiliary files
214
+ # latexrun
215
+ latex.out/
216
+
217
+ ## Auxiliary and intermediate files from other packages:
218
+ # algorithms
219
+ *.alg
220
+ *.loa
221
+
222
+ # achemso
223
+ acs-*.bib
224
+
225
+ # amsthm
226
+ *.thm
227
+
228
+ # beamer
229
+ *.nav
230
+ *.pre
231
+ *.snm
232
+ *.vrb
233
+
234
+ # changes
235
+ *.soc
236
+
237
+ # comment
238
+ *.cut
239
+
240
+ # cprotect
241
+ *.cpt
242
+
243
+ # elsarticle (documentclass of Elsevier journals)
244
+ *.spl
245
+
246
+ # endnotes
247
+ *.ent
248
+
249
+ # fixme
250
+ *.lox
251
+
252
+ # feynmf/feynmp
253
+ *.mf
254
+ *.mp
255
+ *.t[1-9]
256
+ *.t[1-9][0-9]
257
+ *.tfm
258
+
259
+ #(r)(e)ledmac/(r)(e)ledpar
260
+ *.end
261
+ *.?end
262
+ *.[1-9]
263
+ *.[1-9][0-9]
264
+ *.[1-9][0-9][0-9]
265
+ *.[1-9]R
266
+ *.[1-9][0-9]R
267
+ *.[1-9][0-9][0-9]R
268
+ *.eledsec[1-9]
269
+ *.eledsec[1-9]R
270
+ *.eledsec[1-9][0-9]
271
+ *.eledsec[1-9][0-9]R
272
+ *.eledsec[1-9][0-9][0-9]
273
+ *.eledsec[1-9][0-9][0-9]R
274
+
275
+ # glossaries
276
+ *.acn
277
+ *.acr
278
+ *.glg
279
+ *.glo
280
+ *.gls
281
+ *.glsdefs
282
+ *.lzo
283
+ *.lzs
284
+ *.slg
285
+ *.slo
286
+ *.sls
287
+
288
+ # uncomment this for glossaries-extra (will ignore makeindex's style files!)
289
+ # *.ist
290
+
291
+ # gnuplot
292
+ *.gnuplot
293
+ *.table
294
+
295
+ # gnuplottex
296
+ *-gnuplottex-*
297
+
298
+ # gregoriotex
299
+ *.gaux
300
+ *.glog
301
+ *.gtex
302
+
303
+ # htlatex
304
+ *.4ct
305
+ *.4tc
306
+ *.idv
307
+ *.lg
308
+ *.trc
309
+ *.xref
310
+
311
+ # hypdoc
312
+ *.hd
313
+
314
+ # hyperref
315
+ *.brf
316
+
317
+ # knitr
318
+ *-concordance.tex
319
+ # TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files
320
+ # *.tikz
321
+ *-tikzDictionary
322
+
323
+ # listings
324
+ *.lol
325
+
326
+ # luatexja-ruby
327
+ *.ltjruby
328
+
329
+ # makeidx
330
+ *.idx
331
+ *.ilg
332
+ *.ind
333
+
334
+ # minitoc
335
+ *.maf
336
+ *.mlf
337
+ *.mlt
338
+ *.mtc[0-9]*
339
+ *.slf[0-9]*
340
+ *.slt[0-9]*
341
+ *.stc[0-9]*
342
+
343
+ # minted
344
+ _minted*
345
+ *.pyg
346
+
347
+ # morewrites
348
+ *.mw
349
+
350
+ # newpax
351
+ *.newpax
352
+
353
+ # nomencl
354
+ *.nlg
355
+ *.nlo
356
+ *.nls
357
+
358
+ # pax
359
+ *.pax
360
+
361
+ # pdfpcnotes
362
+ *.pdfpc
363
+
364
+ # sagetex
365
+ *.sagetex.sage
366
+ *.sagetex.py
367
+ *.sagetex.scmd
368
+
369
+ # scrwfile
370
+ *.wrt
371
+
372
+ # svg
373
+ svg-inkscape/
374
+
375
+ # sympy
376
+ *.sout
377
+ *.sympy
378
+ sympy-plots-for-*.tex/
379
+
380
+ # pdfcomment
381
+ *.upa
382
+ *.upb
383
+
384
+ # pythontex
385
+ *.pytxcode
386
+ pythontex-files-*/
387
+
388
+ # tcolorbox
389
+ *.listing
390
+
391
+ # thmtools
392
+ *.loe
393
+
394
+ # TikZ & PGF
395
+ *.dpth
396
+ *.md5
397
+ *.auxlock
398
+
399
+ # titletoc
400
+ *.ptc
401
+
402
+ # todonotes
403
+ *.tdo
404
+
405
+ # vhistory
406
+ *.hst
407
+ *.ver
408
+
409
+ # easy-todo
410
+ *.lod
411
+
412
+ # xcolor
413
+ *.xcp
414
+
415
+ # xmpincl
416
+ *.xmpi
417
+
418
+ # xindy
419
+ *.xdy
420
+
421
+ # xypic precompiled matrices and outlines
422
+ *.xyc
423
+ *.xyd
424
+
425
+ # endfloat
426
+ *.ttt
427
+ *.fff
428
+
429
+ # Latexian
430
+ TSWLatexianTemp*
431
+
432
+ ## Editors:
433
+ # WinEdt
434
+ *.bak
435
+ *.sav
436
+
437
+ # Texpad
438
+ .texpadtmp
439
+
440
+ # LyX
441
+ *.lyx~
442
+
443
+ # Kile
444
+ *.backup
445
+
446
+ # gummi
447
+ .*.swp
448
+
449
+ # KBibTeX
450
+ *~[0-9]*
451
+
452
+ # TeXnicCenter
453
+ *.tps
454
+
455
+ # auto folder when using emacs and auctex
456
+ ./auto/*
457
+ *.el
458
+
459
+ # expex forward references with \gathertags
460
+ *-tags.tex
461
+
462
+ # standalone packages
463
+ *.sta
464
+
465
+ # Makeindex log files
466
+ *.lpz
467
+
468
+ # xwatermark package
469
+ *.xwm
470
+
471
+ # REVTeX puts footnotes in the bibliography by default, unless the nofootinbib
472
+ # option is specified. Footnotes are the stored in a file with suffix Notes.bib.
473
+ # Uncomment the next line to have this generated file ignored.
474
+ #*Notes.bib