PyKubeGrader 0.0.4__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. pykubegrader-0.0.4/.coveragerc +28 -0
  2. pykubegrader-0.0.4/.github/workflows/main.yml +66 -0
  3. pykubegrader-0.0.4/.gitignore +54 -0
  4. pykubegrader-0.0.4/.readthedocs.yml +27 -0
  5. pykubegrader-0.0.4/AUTHORS.rst +5 -0
  6. pykubegrader-0.0.4/CHANGELOG.rst +10 -0
  7. pykubegrader-0.0.4/CONTRIBUTING.rst +353 -0
  8. pykubegrader-0.0.4/LICENSE.txt +28 -0
  9. pykubegrader-0.0.4/PKG-INFO +69 -0
  10. pykubegrader-0.0.4/README.md +3 -0
  11. pykubegrader-0.0.4/README.rst +49 -0
  12. pykubegrader-0.0.4/docs/Makefile +29 -0
  13. pykubegrader-0.0.4/docs/_static/.gitignore +1 -0
  14. pykubegrader-0.0.4/docs/_static/Drexel_blue_Logo_square_Dark.png +0 -0
  15. pykubegrader-0.0.4/docs/_static/Drexel_blue_Logo_square_Light.png +0 -0
  16. pykubegrader-0.0.4/docs/_static/custom.css +171 -0
  17. pykubegrader-0.0.4/docs/authors.rst +2 -0
  18. pykubegrader-0.0.4/docs/changelog.rst +2 -0
  19. pykubegrader-0.0.4/docs/conf.py +304 -0
  20. pykubegrader-0.0.4/docs/contributing.rst +1 -0
  21. pykubegrader-0.0.4/docs/index.rst +61 -0
  22. pykubegrader-0.0.4/docs/license.rst +7 -0
  23. pykubegrader-0.0.4/docs/readme.rst +2 -0
  24. pykubegrader-0.0.4/docs/requirements.txt +8 -0
  25. pykubegrader-0.0.4/pyproject.toml +9 -0
  26. pykubegrader-0.0.4/setup.cfg +71 -0
  27. pykubegrader-0.0.4/setup.py +22 -0
  28. pykubegrader-0.0.4/src/PyKubeGrader.egg-info/PKG-INFO +69 -0
  29. pykubegrader-0.0.4/src/PyKubeGrader.egg-info/SOURCES.txt +48 -0
  30. pykubegrader-0.0.4/src/PyKubeGrader.egg-info/dependency_links.txt +1 -0
  31. pykubegrader-0.0.4/src/PyKubeGrader.egg-info/not-zip-safe +1 -0
  32. pykubegrader-0.0.4/src/PyKubeGrader.egg-info/requires.txt +8 -0
  33. pykubegrader-0.0.4/src/PyKubeGrader.egg-info/top_level.txt +1 -0
  34. pykubegrader-0.0.4/src/pykubegrader/__init__.py +16 -0
  35. pykubegrader-0.0.4/src/pykubegrader/widgets/info_widget.py +108 -0
  36. pykubegrader-0.0.4/src/pykubegrader/widgets/mc_widget.py +72 -0
  37. pykubegrader-0.0.4/src/pykubegrader/widgets/misc.py +29 -0
  38. pykubegrader-0.0.4/src/pykubegrader/widgets/multi_select_base.py +99 -0
  39. pykubegrader-0.0.4/src/pykubegrader/widgets/reading_base.py +168 -0
  40. pykubegrader-0.0.4/src/pykubegrader/widgets/reading_widget.py +84 -0
  41. pykubegrader-0.0.4/src/pykubegrader/widgets/select_base.py +69 -0
  42. pykubegrader-0.0.4/src/pykubegrader/widgets/select_many_widget.py +101 -0
  43. pykubegrader-0.0.4/src/pykubegrader/widgets/telemetry.py +132 -0
  44. pykubegrader-0.0.4/src/pykubegrader/widgets/types_widget.py +77 -0
  45. pykubegrader-0.0.4/src/pykubegrader/widgets/validate.py +311 -0
  46. pykubegrader-0.0.4/tests/conftest.py +10 -0
  47. pykubegrader-0.0.4/tests/import_test.py +2 -0
  48. pykubegrader-0.0.4/tox.ini +93 -0
  49. pykubegrader-0.0.4/uv.lock +979 -0
@@ -0,0 +1,28 @@
1
+ # .coveragerc to control coverage.py
2
+ [run]
3
+ branch = True
4
+ source = pykubegrader
5
+ # omit = bad_file.py
6
+
7
+ [paths]
8
+ source =
9
+ src/
10
+ */site-packages/
11
+
12
+ [report]
13
+ # Regexes for lines to exclude from consideration
14
+ exclude_lines =
15
+ # Have to re-enable the standard pragma
16
+ pragma: no cover
17
+
18
+ # Don't complain about missing debug-only code:
19
+ def __repr__
20
+ if self\.debug
21
+
22
+ # Don't complain if tests don't hit defensive assertion code:
23
+ raise AssertionError
24
+ raise NotImplementedError
25
+
26
+ # Don't complain if non-runnable code isn't run:
27
+ if 0:
28
+ if __name__ == .__main__.:
@@ -0,0 +1,66 @@
1
+ name: CI/CD
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+ branches:
9
+ - main
10
+
11
+ jobs:
12
+ build:
13
+ runs-on: self-hosted
14
+ permissions:
15
+ contents: write
16
+ steps:
17
+ - name: Checkout code
18
+ uses: actions/checkout@v3
19
+
20
+ - name: Set up Python
21
+ uses: actions/setup-python@v2
22
+ with:
23
+ python-version: "3.11"
24
+
25
+ - name: Install dependencies
26
+ run: |
27
+ python -m pip install --upgrade pip
28
+ pip install pyscaffold
29
+ pip install tox
30
+
31
+ - name: Bump version and push tag
32
+ uses: anothrNick/github-tag-action@v1
33
+ if: |
34
+ contains(github.event.head_commit.message, '#minor') ||
35
+ contains(github.event.head_commit.message, '#patch') ||
36
+ contains(github.event.head_commit.message, '#major')
37
+ with:
38
+ github_token: ${{ secrets.GH_TOKEN }}
39
+ release_branches: main
40
+ DEFAULT_BUMP: patch
41
+ env:
42
+ GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
43
+
44
+ - name: Build the package
45
+ run: |
46
+ tox
47
+ tox -e docs
48
+ tox -e build
49
+
50
+ - name: Publish to PyPI
51
+ if: |
52
+ contains(github.event.head_commit.message, '#patch') ||
53
+ contains(github.event.head_commit.message, '#minor') ||
54
+ contains(github.event.head_commit.message, '#major')
55
+ env:
56
+ TWINE_USERNAME: __token__
57
+ TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
58
+ run: |
59
+ python -m pip install --upgrade twine
60
+ twine upload dist/*
61
+
62
+ - name: Deploy to GitHub Pages
63
+ uses: peaceiris/actions-gh-pages@v3
64
+ with:
65
+ github_token: ${{ secrets.GH_TOKEN }}
66
+ publish_dir: ./docs/_build/html
@@ -0,0 +1,54 @@
1
+ # Temporary and binary files
2
+ *~
3
+ *.py[cod]
4
+ *.so
5
+ *.cfg
6
+ !.isort.cfg
7
+ !setup.cfg
8
+ *.orig
9
+ *.log
10
+ *.pot
11
+ __pycache__/*
12
+ .cache/*
13
+ .*.swp
14
+ */.ipynb_checkpoints/*
15
+ .DS_Store
16
+
17
+ # Project files
18
+ .ropeproject
19
+ .project
20
+ .pydevproject
21
+ .settings
22
+ .idea
23
+ .vscode
24
+ tags
25
+
26
+ # Package files
27
+ *.egg
28
+ *.eggs/
29
+ .installed.cfg
30
+ *.egg-info
31
+
32
+ # Unittest and coverage
33
+ htmlcov/*
34
+ .coverage
35
+ .coverage.*
36
+ .tox
37
+ junit*.xml
38
+ coverage.xml
39
+ .pytest_cache/
40
+
41
+ # Build and docs folder/files
42
+ build/*
43
+ sdist/*
44
+ dist/*
45
+ docs/api/*
46
+ docs/_rst/*
47
+ docs/_build/*
48
+ cover/*
49
+ MANIFEST
50
+
51
+ # Per-project virtualenvs
52
+ .venv*/
53
+ .conda*/
54
+ .python-version
@@ -0,0 +1,27 @@
1
+ # Read the Docs configuration file
2
+ # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
3
+
4
+ # Required
5
+ version: 2
6
+
7
+ # Build documentation in the docs/ directory with Sphinx
8
+ sphinx:
9
+ configuration: docs/conf.py
10
+
11
+ # Build documentation with MkDocs
12
+ #mkdocs:
13
+ # configuration: mkdocs.yml
14
+
15
+ # Optionally build your docs in additional formats such as PDF
16
+ formats:
17
+ - pdf
18
+
19
+ build:
20
+ os: ubuntu-22.04
21
+ tools:
22
+ python: "3.11"
23
+
24
+ python:
25
+ install:
26
+ - requirements: docs/requirements.txt
27
+ - {path: ., method: pip}
@@ -0,0 +1,5 @@
1
+ ============
2
+ Contributors
3
+ ============
4
+
5
+ * jagar2 <jca92@drexel.edu>
@@ -0,0 +1,10 @@
1
+ =========
2
+ Changelog
3
+ =========
4
+
5
+ Version 0.1
6
+ ===========
7
+
8
+ - Feature A added
9
+ - FIX: nasty bug #1729 fixed
10
+ - add your changes here!
@@ -0,0 +1,353 @@
1
+ .. todo:: THIS IS SUPPOSED TO BE AN EXAMPLE. MODIFY IT ACCORDING TO YOUR NEEDS!
2
+
3
+ The document assumes you are using a source repository service that promotes a
4
+ contribution model similar to `GitHub's fork and pull request workflow`_.
5
+ While this is true for the majority of services (like GitHub, GitLab,
6
+ BitBucket), it might not be the case for private repositories (e.g., when
7
+ using Gerrit).
8
+
9
+ Also notice that the code examples might refer to GitHub URLs or the text
10
+ might use GitHub specific terminology (e.g., *Pull Request* instead of *Merge
11
+ Request*).
12
+
13
+ Please make sure to check the document having these assumptions in mind
14
+ and update things accordingly.
15
+
16
+ .. todo:: Provide the correct links/replacements at the bottom of the document.
17
+
18
+ .. todo:: You might want to have a look on `PyScaffold's contributor's guide`_,
19
+
20
+ especially if your project is open source. The text should be very similar to
21
+ this template, but there are a few extra contents that you might decide to
22
+ also include, like mentioning labels of your issue tracker or automated
23
+ releases.
24
+
25
+
26
+ ============
27
+ Contributing
28
+ ============
29
+
30
+ Welcome to ``PyKubeGrader`` contributor's guide.
31
+
32
+ This document focuses on getting any potential contributor familiarized
33
+ with the development processes, but `other kinds of contributions`_ are also
34
+ appreciated.
35
+
36
+ If you are new to using git_ or have never collaborated in a project previously,
37
+ please have a look at `contribution-guide.org`_. Other resources are also
38
+ listed in the excellent `guide created by FreeCodeCamp`_ [#contrib1]_.
39
+
40
+ Please notice, all users and contributors are expected to be **open,
41
+ considerate, reasonable, and respectful**. When in doubt, `Python Software
42
+ Foundation's Code of Conduct`_ is a good reference in terms of behavior
43
+ guidelines.
44
+
45
+
46
+ Issue Reports
47
+ =============
48
+
49
+ If you experience bugs or general issues with ``PyKubeGrader``, please have a look
50
+ on the `issue tracker`_. If you don't see anything useful there, please feel
51
+ free to fire an issue report.
52
+
53
+ .. tip::
54
+ Please don't forget to include the closed issues in your search.
55
+ Sometimes a solution was already reported, and the problem is considered
56
+ **solved**.
57
+
58
+ New issue reports should include information about your programming environment
59
+ (e.g., operating system, Python version) and steps to reproduce the problem.
60
+ Please try also to simplify the reproduction steps to a very minimal example
61
+ that still illustrates the problem you are facing. By removing other factors,
62
+ you help us to identify the root cause of the issue.
63
+
64
+
65
+ Documentation Improvements
66
+ ==========================
67
+
68
+ You can help improve ``PyKubeGrader`` docs by making them more readable and coherent, or
69
+ by adding missing information and correcting mistakes.
70
+
71
+ ``PyKubeGrader`` documentation uses Sphinx_ as its main documentation compiler.
72
+ This means that the docs are kept in the same repository as the project code, and
73
+ that any documentation update is done in the same way was a code contribution.
74
+
75
+ .. todo:: Don't forget to mention which markup language you are using.
76
+
77
+ e.g., reStructuredText_ or CommonMark_ with MyST_ extensions.
78
+
79
+ .. todo:: If your project is hosted on GitHub, you can also mention the following tip:
80
+
81
+ .. tip::
82
+ Please notice that the `GitHub web interface`_ provides a quick way of
83
+ propose changes in ``PyKubeGrader``'s files. While this mechanism can
84
+ be tricky for normal code contributions, it works perfectly fine for
85
+ contributing to the docs, and can be quite handy.
86
+
87
+ If you are interested in trying this method out, please navigate to
88
+ the ``docs`` folder in the source repository_, find which file you
89
+ would like to propose changes and click in the little pencil icon at the
90
+ top, to open `GitHub's code editor`_. Once you finish editing the file,
91
+ please write a message in the form at the bottom of the page describing
92
+ which changes have you made and what are the motivations behind them and
93
+ submit your proposal.
94
+
95
+ When working on documentation changes in your local machine, you can
96
+ compile them using |tox|_::
97
+
98
+ tox -e docs
99
+
100
+ and use Python's built-in web server for a preview in your web browser
101
+ (``http://localhost:8000``)::
102
+
103
+ python3 -m http.server --directory 'docs/_build/html'
104
+
105
+
106
+ Code Contributions
107
+ ==================
108
+
109
+ .. todo:: Please include a reference or explanation about the internals of the project.
110
+
111
+ An architecture description, design principles or at least a summary of the
112
+ main concepts will make it easy for potential contributors to get started
113
+ quickly.
114
+
115
+ Submit an issue
116
+ ---------------
117
+
118
+ Before you work on any non-trivial code contribution it's best to first create
119
+ a report in the `issue tracker`_ to start a discussion on the subject.
120
+ This often provides additional considerations and avoids unnecessary work.
121
+
122
+ Create an environment
123
+ ---------------------
124
+
125
+ Before you start coding, we recommend creating an isolated `virtual
126
+ environment`_ to avoid any problems with your installed Python packages.
127
+ This can easily be done via either |virtualenv|_::
128
+
129
+ virtualenv <PATH TO VENV>
130
+ source <PATH TO VENV>/bin/activate
131
+
132
+ or Miniconda_::
133
+
134
+ conda create -n PyKubeGrader python=3 six virtualenv pytest pytest-cov
135
+ conda activate PyKubeGrader
136
+
137
+ Clone the repository
138
+ --------------------
139
+
140
+ #. Create an user account on |the repository service| if you do not already have one.
141
+ #. Fork the project repository_: click on the *Fork* button near the top of the
142
+ page. This creates a copy of the code under your account on |the repository service|.
143
+ #. Clone this copy to your local disk::
144
+
145
+ git clone git@github.com:YourLogin/PyKubeGrader.git
146
+ cd PyKubeGrader
147
+
148
+ #. You should run::
149
+
150
+ pip install -U pip setuptools -e .
151
+
152
+ to be able to import the package under development in the Python REPL.
153
+
154
+ .. todo:: if you are not using pre-commit, please remove the following item:
155
+
156
+ #. Install |pre-commit|_::
157
+
158
+ pip install pre-commit
159
+ pre-commit install
160
+
161
+ ``PyKubeGrader`` comes with a lot of hooks configured to automatically help the
162
+ developer to check the code being written.
163
+
164
+ Implement your changes
165
+ ----------------------
166
+
167
+ #. Create a branch to hold your changes::
168
+
169
+ git checkout -b my-feature
170
+
171
+ and start making changes. Never work on the main branch!
172
+
173
+ #. Start your work on this branch. Don't forget to add docstrings_ to new
174
+ functions, modules and classes, especially if they are part of public APIs.
175
+
176
+ #. Add yourself to the list of contributors in ``AUTHORS.rst``.
177
+
178
+ #. When you’re done editing, do::
179
+
180
+ git add <MODIFIED FILES>
181
+ git commit
182
+
183
+ to record your changes in git_.
184
+
185
+ .. todo:: if you are not using pre-commit, please remove the following item:
186
+
187
+ Please make sure to see the validation messages from |pre-commit|_ and fix
188
+ any eventual issues.
189
+ This should automatically use flake8_/black_ to check/fix the code style
190
+ in a way that is compatible with the project.
191
+
192
+ .. important:: Don't forget to add unit tests and documentation in case your
193
+ contribution adds an additional feature and is not just a bugfix.
194
+
195
+ Moreover, writing a `descriptive commit message`_ is highly recommended.
196
+ In case of doubt, you can check the commit history with::
197
+
198
+ git log --graph --decorate --pretty=oneline --abbrev-commit --all
199
+
200
+ to look for recurring communication patterns.
201
+
202
+ #. Please check that your changes don't break any unit tests with::
203
+
204
+ tox
205
+
206
+ (after having installed |tox|_ with ``pip install tox`` or ``pipx``).
207
+
208
+ You can also use |tox|_ to run several other pre-configured tasks in the
209
+ repository. Try ``tox -av`` to see a list of the available checks.
210
+
211
+ Submit your contribution
212
+ ------------------------
213
+
214
+ #. If everything works fine, push your local branch to |the repository service| with::
215
+
216
+ git push -u origin my-feature
217
+
218
+ #. Go to the web page of your fork and click |contribute button|
219
+ to send your changes for review.
220
+
221
+ .. todo:: if you are using GitHub, you can uncomment the following paragraph
222
+
223
+ Find more detailed information in `creating a PR`_. You might also want to open
224
+ the PR as a draft first and mark it as ready for review after the feedbacks
225
+ from the continuous integration (CI) system or any required fixes.
226
+
227
+
228
+ Troubleshooting
229
+ ---------------
230
+
231
+ The following tips can be used when facing problems to build or test the
232
+ package:
233
+
234
+ #. Make sure to fetch all the tags from the upstream repository_.
235
+ The command ``git describe --abbrev=0 --tags`` should return the version you
236
+ are expecting. If you are trying to run CI scripts in a fork repository,
237
+ make sure to push all the tags.
238
+ You can also try to remove all the egg files or the complete egg folder, i.e.,
239
+ ``.eggs``, as well as the ``*.egg-info`` folders in the ``src`` folder or
240
+ potentially in the root of your project.
241
+
242
+ #. Sometimes |tox|_ misses out when new dependencies are added, especially to
243
+ ``setup.cfg`` and ``docs/requirements.txt``. If you find any problems with
244
+ missing dependencies when running a command with |tox|_, try to recreate the
245
+ ``tox`` environment using the ``-r`` flag. For example, instead of::
246
+
247
+ tox -e docs
248
+
249
+ Try running::
250
+
251
+ tox -r -e docs
252
+
253
+ #. Make sure to have a reliable |tox|_ installation that uses the correct
254
+ Python version (e.g., 3.7+). When in doubt you can run::
255
+
256
+ tox --version
257
+ # OR
258
+ which tox
259
+
260
+ If you have trouble and are seeing weird errors upon running |tox|_, you can
261
+ also try to create a dedicated `virtual environment`_ with a |tox|_ binary
262
+ freshly installed. For example::
263
+
264
+ virtualenv .venv
265
+ source .venv/bin/activate
266
+ .venv/bin/pip install tox
267
+ .venv/bin/tox -e all
268
+
269
+ #. `Pytest can drop you`_ in an interactive session in the case an error occurs.
270
+ In order to do that you need to pass a ``--pdb`` option (for example by
271
+ running ``tox -- -k <NAME OF THE FALLING TEST> --pdb``).
272
+ You can also setup breakpoints manually instead of using the ``--pdb`` option.
273
+
274
+
275
+ Maintainer tasks
276
+ ================
277
+
278
+ Releases
279
+ --------
280
+
281
+ .. todo:: This section assumes you are using PyPI to publicly release your package.
282
+
283
+ If instead you are using a different/private package index, please update
284
+ the instructions accordingly.
285
+
286
+ If you are part of the group of maintainers and have correct user permissions
287
+ on PyPI_, the following steps can be used to release a new version for
288
+ ``PyKubeGrader``:
289
+
290
+ #. Make sure all unit tests are successful.
291
+ #. Tag the current commit on the main branch with a release tag, e.g., ``v1.2.3``.
292
+ #. Push the new tag to the upstream repository_, e.g., ``git push upstream v1.2.3``
293
+ #. Clean up the ``dist`` and ``build`` folders with ``tox -e clean``
294
+ (or ``rm -rf dist build``)
295
+ to avoid confusion with old builds and Sphinx docs.
296
+ #. Run ``tox -e build`` and check that the files in ``dist`` have
297
+ the correct version (no ``.dirty`` or git_ hash) according to the git_ tag.
298
+ Also check the sizes of the distributions, if they are too big (e.g., >
299
+ 500KB), unwanted clutter may have been accidentally included.
300
+ #. Run ``tox -e publish -- --repository pypi`` and check that everything was
301
+ uploaded to PyPI_ correctly.
302
+
303
+
304
+
305
+ .. [#contrib1] Even though, these resources focus on open source projects and
306
+ communities, the general ideas behind collaborating with other developers
307
+ to collectively create software are general and can be applied to all sorts
308
+ of environments, including private companies and proprietary code bases.
309
+
310
+
311
+ .. <-- start -->
312
+ .. todo:: Please review and change the following definitions:
313
+
314
+ .. |the repository service| replace:: GitHub
315
+ .. |contribute button| replace:: "Create pull request"
316
+
317
+ .. _repository: https://github.com/<USERNAME>/PyKubeGrader
318
+ .. _issue tracker: https://github.com/<USERNAME>/PyKubeGrader/issues
319
+ .. <-- end -->
320
+
321
+
322
+ .. |virtualenv| replace:: ``virtualenv``
323
+ .. |pre-commit| replace:: ``pre-commit``
324
+ .. |tox| replace:: ``tox``
325
+
326
+
327
+ .. _black: https://pypi.org/project/black/
328
+ .. _CommonMark: https://commonmark.org/
329
+ .. _contribution-guide.org: https://www.contribution-guide.org/
330
+ .. _creating a PR: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request
331
+ .. _descriptive commit message: https://chris.beams.io/posts/git-commit
332
+ .. _docstrings: https://www.sphinx-doc.org/en/master/usage/extensions/napoleon.html
333
+ .. _first-contributions tutorial: https://github.com/firstcontributions/first-contributions
334
+ .. _flake8: https://flake8.pycqa.org/en/stable/
335
+ .. _git: https://git-scm.com
336
+ .. _GitHub's fork and pull request workflow: https://guides.github.com/activities/forking/
337
+ .. _guide created by FreeCodeCamp: https://github.com/FreeCodeCamp/how-to-contribute-to-open-source
338
+ .. _Miniconda: https://docs.conda.io/en/latest/miniconda.html
339
+ .. _MyST: https://myst-parser.readthedocs.io/en/latest/syntax/syntax.html
340
+ .. _other kinds of contributions: https://opensource.guide/how-to-contribute
341
+ .. _pre-commit: https://pre-commit.com/
342
+ .. _PyPI: https://pypi.org/
343
+ .. _PyScaffold's contributor's guide: https://pyscaffold.org/en/stable/contributing.html
344
+ .. _Pytest can drop you: https://docs.pytest.org/en/stable/how-to/failures.html#using-python-library-pdb-with-pytest
345
+ .. _Python Software Foundation's Code of Conduct: https://www.python.org/psf/conduct/
346
+ .. _reStructuredText: https://www.sphinx-doc.org/en/master/usage/restructuredtext/
347
+ .. _Sphinx: https://www.sphinx-doc.org/en/master/
348
+ .. _tox: https://tox.wiki/en/stable/
349
+ .. _virtual environment: https://realpython.com/python-virtual-environments-a-primer/
350
+ .. _virtualenv: https://virtualenv.pypa.io/en/stable/
351
+
352
+ .. _GitHub web interface: https://docs.github.com/en/repositories/working-with-files/managing-files/editing-files
353
+ .. _GitHub's code editor: https://docs.github.com/en/repositories/working-with-files/managing-files/editing-files
@@ -0,0 +1,28 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2024, M3-Learning: Multifunctional Materials and Machine Learning
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions are met:
7
+
8
+ 1. Redistributions of source code must retain the above copyright notice, this
9
+ list of conditions and the following disclaimer.
10
+
11
+ 2. Redistributions in binary form must reproduce the above copyright notice,
12
+ this list of conditions and the following disclaimer in the documentation
13
+ and/or other materials provided with the distribution.
14
+
15
+ 3. Neither the name of the copyright holder nor the names of its
16
+ contributors may be used to endorse or promote products derived from
17
+ this software without specific prior written permission.
18
+
19
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,69 @@
1
+ Metadata-Version: 2.1
2
+ Name: PyKubeGrader
3
+ Version: 0.0.4
4
+ Summary: Add a short description here!
5
+ Home-page: https://github.com/pyscaffold/pyscaffold/
6
+ Author: jagar2
7
+ Author-email: jca92@drexel.edu
8
+ License: MIT
9
+ Project-URL: Documentation, https://pyscaffold.org/
10
+ Platform: any
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Programming Language :: Python
13
+ Description-Content-Type: text/x-rst; charset=UTF-8
14
+ License-File: LICENSE.txt
15
+ Requires-Dist: importlib-metadata; python_version < "3.8"
16
+ Provides-Extra: testing
17
+ Requires-Dist: setuptools; extra == "testing"
18
+ Requires-Dist: pytest; extra == "testing"
19
+ Requires-Dist: pytest-cov; extra == "testing"
20
+
21
+ .. These are examples of badges you might want to add to your README:
22
+ please update the URLs accordingly
23
+
24
+ .. image:: https://api.cirrus-ci.com/github/<USER>/PyKubeGrader.svg?branch=main
25
+ :alt: Built Status
26
+ :target: https://cirrus-ci.com/github/<USER>/PyKubeGrader
27
+ .. image:: https://readthedocs.org/projects/PyKubeGrader/badge/?version=latest
28
+ :alt: ReadTheDocs
29
+ :target: https://PyKubeGrader.readthedocs.io/en/stable/
30
+ .. image:: https://img.shields.io/coveralls/github/<USER>/PyKubeGrader/main.svg
31
+ :alt: Coveralls
32
+ :target: https://coveralls.io/r/<USER>/PyKubeGrader
33
+ .. image:: https://img.shields.io/pypi/v/PyKubeGrader.svg
34
+ :alt: PyPI-Server
35
+ :target: https://pypi.org/project/PyKubeGrader/
36
+ .. image:: https://img.shields.io/conda/vn/conda-forge/PyKubeGrader.svg
37
+ :alt: Conda-Forge
38
+ :target: https://anaconda.org/conda-forge/PyKubeGrader
39
+ .. image:: https://pepy.tech/badge/PyKubeGrader/month
40
+ :alt: Monthly Downloads
41
+ :target: https://pepy.tech/project/PyKubeGrader
42
+ .. image:: https://img.shields.io/twitter/url/http/shields.io.svg?style=social&label=Twitter
43
+ :alt: Twitter
44
+ :target: https://twitter.com/PyKubeGrader
45
+
46
+ .. image:: https://img.shields.io/badge/-PyScaffold-005CA0?logo=pyscaffold
47
+ :alt: Project generated with PyScaffold
48
+ :target: https://pyscaffold.org/
49
+
50
+ |
51
+
52
+ ============
53
+ PyKubeGrader
54
+ ============
55
+
56
+
57
+ Add a short description here!
58
+
59
+
60
+ A longer description of your project goes here...
61
+
62
+
63
+ .. _pyscaffold-notes:
64
+
65
+ Note
66
+ ====
67
+
68
+ This project has been set up using PyScaffold 4.6. For details and usage
69
+ information on PyScaffold see https://pyscaffold.org/.
@@ -0,0 +1,3 @@
1
+ # pygrader-utils
2
+
3
+ To be documented…