Giter VIP home page Giter VIP logo

python-blueprint's Introduction

GitHub stats

Top Langs

python-blueprint's People

Contributors

dependabot[bot] avatar drhagen avatar johnthagen avatar samypr100 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

python-blueprint's Issues

mkdocstrings configuration fails to build on Windows

$ tox -r -e docs
docs recreate: python-blueprint\.tox\docs
docs installdeps: -rpython-blueprint/requirements.txt, -rpython-blueprint/dev-requirements.txt
docs installed: atomicwrites==1.4.0,attrs==21.4.0,beautifulsoup4==4.10.0,black==22.1.0,certifi==2021.10.8,charset-norm
alizer==2.0.12,click==8.0.4,colorama==0.4.4,coverage==6.3.2,distlib==0.3.4,fact==1.0.0,filelock==3.6.0,flake8==4.0.1,f
lake8-broken-line==0.4.0,flake8-bugbear==22.1.11,flake8-comprehensions==3.8.0,flake8-polyfill==1.0.2,ghp-import==2.0.2
,griffe==0.12.6,idna==3.3,importlib-metadata==4.11.1,iniconfig==1.1.1,isort==5.10.1,Jinja2==3.0.3,lxml==4.8.0,Markdown
==3.3.6,MarkupSafe==2.1.0,mccabe==0.6.1,mergedeep==1.3.4,mkdocs==1.2.3,mkdocs-autorefs==0.3.1,mkdocs-gen-files==0.3.4,
mkdocs-htmlproofer-plugin==0.8.0,mkdocs-literate-nav==0.4.1,mkdocs-material==8.2.1,mkdocs-material-extensions==1.0.3,m
kdocstrings==0.18.0,mkdocstrings-python==0.6.3,mkdocstrings-python-legacy==0.2.2,mypy==0.931,mypy-extensions==0.4.3,pa
ckaging==21.3,pathspec==0.9.0,pep8-naming==0.12.1,platformdirs==2.5.1,pluggy==1.0.0,py==1.11.0,pycodestyle==2.8.0,pyfl
akes==2.4.0,Pygments==2.11.2,pymdown-extensions==9.2,pyparsing==3.0.7,pytest==7.0.1,pytest-cov==3.0.0,python-dateutil=
=2.8.2,pytkdocs==0.16.0,PyYAML==6.0,pyyaml_env_tag==0.1,requests==2.27.1,six==1.16.0,soupsieve==2.3.1,toml==0.10.2,tom
li==2.0.1,tox==3.24.5,typer==0.4.0,typing_extensions==4.1.1,urllib3==1.26.8,virtualenv==20.13.1,watchdog==2.1.6,zipp==
3.7.0
docs run-test-pre: PYTHONHASHSEED='300'  
docs run-test: commands[0] | mkdocs build
INFO     -  Cleaning site directory
INFO     -  Building documentation to directory: python-blueprint\site
INFO     -  The following pages exist in the docs directory, but are not included in the "nav" configuration:
              - reference\fact\__init__.md                                                                   
WARNING  -  A relative path to 'reference/fact☻95β™₯_init__.md' is included in the 'nav' configuration, which is not
            found in the documentation files                                                                      
WARNING  -  Documentation file 'reference\SUMMARY.md' contains a link to 'reference\fact☻95β™₯_init__.md' which is not
            found in the documentation files.                                                                       

Aborted with 2 warnings in strict mode!

Licensing

There's no license associated with this project. How are we legally allowed to use it?

setup.py mentions MIT style.

Upstream Wishlist

Migrate flake8 config to pyproject.toml

If/when the flake8 developers decide to support pyproject.toml, should move flake8 configuration to that to consolidate configurations.

Current Status

This comment lists blockers the Flake8 developers have listed:

This comment lists a non-technical reason a Flake8 developer has against TOML (against the creator of TOML himself):

Recent tweets:

Enhancement - GitHub assets

For opensource project, you could add a minimal .github folder for issues and PRs .

.github/
β”œβ”€β”€ ISSUE_TEMPLATE.md
└── PULL_REQUEST_TEMPLATE.md

Anyway, your python-blueprint is awesome. Good job ! ;)

Pass -Werror to pytest rather than python

From pytest --help:

pytest-warnings:
  -W PYTHONWARNINGS, --pythonwarnings=PYTHONWARNINGS
                        set which warnings to report, see -W option of python itself.

Passing -Werror to pytest directly is recommended from the help, and works better for pytest-xdist.

Consider isort integration

isort is an application to sort imports. This could replace flake8-import-order and PyCharm's "Optimize Imports" feature with something that could be run from tox.

If black is also used, would need to ensure they work together nicely.

Poetry integration

Poetry recently went 1.0, and looks pretty good. It's inspired by really solid package managers like Cargo.

There are some tox related issues that looked a bit concerning.

Should continue to monitor it, and if it continues to gain market share and maturity, consider switching from recommending pip-tools to poetry.

Related to #7

Add --version CLI argument

The idea would be to show how to share the version between the packaging system (setuptools, Sphinx project, etc) and the actual application.

pytest and top-level source packages have a bad interaction

The blueprint uses pytest with a tests folder that is a true Python package (it contains a __init__.py file). This is known to interact badly with having packages defined at the top levelβ€”in this case, fact. This is especially problematic when using tox, which the blueprint also uses. tox installs the distribution in a virtual environment so that the distribution itself can be tested. However, pytest adds to sys.path all directories containing test packages. Because tests is a package, the project root is added to sys.path and the fact package in the project root shadows the fact package installed in the tox environment. Then that means that the fact package being tested is actually the source package and not the fact package installed. pytest and tox may report a success even if there are problems with the packaging of the distribution.

There are a few possible solutions to ensuring that the project root does not end up included in sys.path:

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.