-
Notifications
You must be signed in to change notification settings - Fork 0
Document #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we change RasmussenLab by your_GitHub_user_name or something like that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I actually run the template itself, to make sure everything works. so this would need a organization your_GitHub_user_name.
|
Careful with having a default LICENSE. Not all packages will have a MIT license. |
|
which would be a good default LICENSE? |
- set line-length to black default of 88 characters
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces comprehensive documentation of design decisions and updates project metadata and tooling configurations to align with the latest standards.
- Add a root-level
developing.mddetailing design choices and include it in Sphinx. - Update linting, formatting, and build configurations in
pyproject.tomlandsetup.cfg. - Refresh repository metadata (authors, license, README, Sphinx conf, CI workflow).
Reviewed Changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| setup.cfg | Added Flake8 configuration (exclude, max-line-length, aggressive) |
| pyproject.toml | Updated authors, dev dependencies, Ruff and Black settings |
| docs/index.md | Added developing entry to documentation index |
| docs/developing.md | New Sphinx include for the root developing.md |
| docs/conf.py | Updated author metadata and documented Sphinx extensions |
| docs/.gitignore | Ignore build artifacts (_build, reference, jupyter_execute) |
| developing.md | Added detailed design and packaging guide |
| README.md | Updated usage instructions, template notes, and ReadTheDocs link |
| LICENSE | Updated copyright year and author |
| .readthedocs.yaml | Added placeholder for apt_packages in ReadTheDocs config |
| .github/workflows/cicd.yml | Changed lint target to src, removed PyPI credentials lines |
Comments suppressed due to low confidence (5)
docs/index.md:33
- [nitpick] The entry
developingis lowercase and may be inconsistent with other titles; consider capitalizing it (e.g.,Developing).
developing
developing.md:37
- The link text references
[project.toml]but the actual file ispyproject.toml; update the label to match the filename.
[`project.toml`](pyproject.toml) file is the main configuration file for the Python package
README.md:14
- [nitpick] This bullet appears to be nested under the previous item due to extra indentation; align it with the other top-level list items.
- also the folder `src/python_package`
.github/workflows/cicd.yml:122
- The PyPI publish step no longer has credentials configured; re-add the required
pypi_token: ${{ secrets.PYPI_API_TOKEN }}(or appropriate inputs) so the action can authenticate.
# register PyPI integration:
.github/workflows/cicd.yml:37
- [nitpick] Limiting lint to
srcskips code intests(and other directories); consider usingruff check .or including additional directories to ensure all code is linted.
ruff check src
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
Thank you for this template and the documentation 😃 🎉 I used the template to publish to pypi: hugging-mapper. It was my first time building on Read The Docs -- I'm pumped!!! I learned A LOT, thank you. Some things I encountered during:
|
|
Thanks Angel for trying it directly and the hints. I will test and update accordingly. I hope you enjoyed also the excitement when your Python Package was automatically published to PyPI:) |
As noted by Angel using requirements.txt needed one additional change: - add dependencies to the dynamic field Add hint to section with dependencies
|
I will add a hint in the document specifying that it's possible to add testing of installation of the package from the build distribution. This can be handy in case non code files are shipped with the package and you want to make sure that loading these works as expected. Angel tested the installation and ran pytest again using the manifest. maybe you do not even want to checkout your repo in that job so you make sure not to rely on any local package files: test_sdist:
name: Test built source distribution
needs: build_source_dist
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: artifact
path: ./dist
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install test dependencies
run: |
python -m pip install --upgrade pip
pip install pytest
- name: Install built sdist
run: |
pip install ./dist/*.tar.gz
- name: Run tests
run: python -m pytest -vvv |
|
Regarding choosing a license, this tool guide helps to make this decision, depending on the specificities of the project. |
- add more to .gitignore and link template - remove line-length configuration as it is already on the default 88 of black formatter
* 🎨 add flake8 and ruff line length default (to 90 characters) * 🎨 add formatting of jupyter notebooks per default * 📝 highlight that also a folder has to be renamed * 📝 document what extension are used for * 📝 document debian (ubuntu) package adding which might be needed * 🎨 use PyPI and GitHub integration instead of secret api token * 🙈 hide folders creating when locally building the documentation website * 📝 document desing choices and layout of Python package * 🎨 add copy button for code blocks per default * 🎨 small corrections after proof-reading * 🎨 make name generic and document it. Choose a Licence hint * 🎨 add design document to Sphinx documentation * 🎨 add some more common error checking - set line-length to black default of 88 characters * Apply suggestions from code review * 🐛 correct python pkg configuration file * 🐛 add missing changes for requirments.txt As noted by Angel using requirements.txt needed one additional change: - add dependencies to the dynamic field Add hint to section with dependencies * 📝 Add hint to GitHub Releases and Source distribution testing * 🎨 follow Pasquale's advices (.gitignore + unnecessary config) - add more to .gitignore and link template - remove line-length configuration as it is already on the default 88 of black formatter * 📝 add sebastians hints on other ressources * 🎨 add license key and remove from classifiers as suggested by Sebastian * 📝 docstring and src layout hints (noted by sebastian) * 🐛 add missing key to pyproject.toml --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Uh oh!
There was an error while loading. Please reload this page.