eshwen / ds-python-boilerplate Goto Github PK
View Code? Open in Web Editor NEWBoilerplate for data science projects in Python
Home Page: https://eshwen.github.io/ds-python-boilerplate/
Boilerplate for data science projects in Python
Home Page: https://eshwen.github.io/ds-python-boilerplate/
3.10 - 3.12 for broad compatibility. Then also update the pipelines to use a matrix of these versions, and the badge in the README:
![Python](https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12-blue?logo=Python&logoColor=yellow&link=https%3A%2F%2Fwww.python.org%2F)
Can replace flake8
, isort
, and pydocstyle
. And use it as a pre-commit hook
Ideally, just maintain everything in pyproject.toml
, and use the poetry export
command to export to requirements.txt
and requirements-dev.txt
. So I could potentially remove the latter two files from the repo, and they can be generated by the user. However, they would need to install poetry
first, which could be an annoying step. An alternative would be to generate the requirements files with a pre-commit hook
It would then make sense for the .github./actions/builder/action.yml
to use Poetry and install the project that way
For the builder
action, use Poetry commands to install instead of pip
Also separate out the tests and quality checks so issues can be seen easier. Use concurrency and caching where possible
Add a .github/CODEOWNERS
file for automatic reviewers, with comments as to how it should be used
It can be irritating if your IDE's code styling conflicts with your formatting/linting tools.
For PyCharm, there's a wealth of configuration options for Python code styling. They can also be imported and exported. So, configuration files can be created that mirror your existing formatting/linting tools, so that a lot of things can be applied transparently in the IDE. Then there would be fewer (or no) changes to be made from pipeline failures
So,
black
/isort
/pydocstyle
or ruff
).pycharm/
directory?), and instructions on how to import itTools for Python coding like black
, isort
, and mypy
can be configured directly in pyproject.toml
. So it makes sense to consolidate them all there. See
Then I think I can remove the scripts that run these tools, and just add instructions to run them directly from the README (like black .
). I can also add badges like ,
Ruff now has a formatter that's a drop-in replacement for Black: https://docs.astral.sh/ruff/formatter/
So, test it out and see if it's better. Update the docs accordingly
See https://github.com/release-drafter/release-drafter#configuration
Avoids having to manually create new releases in GitHub when incrementing versions. I would just need to ensure the versions are properly incremented in pyproject.toml
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.