Skip to content

Latest commit

 

History

History
55 lines (49 loc) · 1.6 KB

python-ideas.md

File metadata and controls

55 lines (49 loc) · 1.6 KB
  • doctests
  • deployment options
    • container image
    • vagrant image
    • git clone
    • pip install from pypi
    • wheels
    • debs
    • How much Python/Django knowledge is required?
  • state
    • how to handle database migrations
  • docs
    • formatting (md, rst)
    • systems (sphinx, mkdocs)
    • publication (rtd.org, hel.fi)
    • API Swagger docs need to be made by hand until encode/django-rest-framework#4502 is fixed
  • cookiecutter
  • pip-tools, prequ
  • devpi for faster rebuilds
  • Specifying Django settings
    • /etc, dotfile in user's home
    • ENV
    • command line options
  • even Django projects should be testable
  • codecov, not coveralls
  • Django database settings should have timeout to handle Kubernets services being down
  • check that imagemagick isn't used
  • Run tests with deprecation warnings on
  • https://pypi.python.org/pypi/check-manifest
  • namedtuples or attrs (https://github.com/python-attrs/attrs), https://pypi.python.org/pypi/aenum
    • In Python 3.6:

      from typing import NamedTuple

      class Foo(NamedTuple): """Foo is a very important class and you should totally use it. """ bar: int baz: int = 0

        def grand_total(self):
            return self.bar + self.baz
      
    • attrs:

      import attr @attr.s class Point: x = attr.ib(default=42) y = attr.ib(default=attr.Factory(list))

    • Tuples have problems where Point2D(x=12, y=15) == Time(h=12, m=15). See https://github.com/ericvsmith/dataclasses/blob/master/pep-xxxx.rst