Giter VIP home page Giter VIP logo

ds-python-boilerplate's People

Contributors

dependabot[bot] avatar eshwen avatar

Watchers

 avatar

Forkers

abdallahgedel

ds-python-boilerplate's Issues

Use a consistent source for dependencies

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

Flesh out documentation/README

  • Explain more behind MkDocs
    • Including the extensions I'm using
  • Explain some of the packages in requirements/toml
  • Explain toml file
  • Explain the pipelines in more detail
    • Including composite action

Add PyCharm Python code style scheme

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,

  1. Decide on a convention for code styling with the formatting tools (black/isort/pydocstyle or ruff)
  2. Mirror those in PyCharm's Python code style in Preferences | Editor | Code Style | Python
  3. Hit the three dots menu to export it to XML
  4. Open a PR with the file (in a .pycharm/ directory?), and instructions on how to import it

Improve build pipelines

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 support for multiple Python versions

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)

Add more tools to pyproject.toml

Tools 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 Imports: isort, Checked with mypy

Add CODEOWNERS file

Add a .github/CODEOWNERS file for automatic reviewers, with comments as to how it should be used

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.