- About Pinax
- Important Links
- Overview
- Documentation
- Change Log
- Contribute
- Code of Conduct
- Connect with Pinax
- License
Pinax is an open-source platform built on the Django Web Framework. It is an ecosystem of reusable Django apps, themes, and starter project templates. This collection can be found at http://pinaxproject.com.
Where you can find what you need:
- Releases: published to PyPI or tagged in app repos in the Pinax GitHub organization
- Global documentation: Pinax documentation website
- App specific documentation: app repos in the Pinax GitHub organization
- Support information: SUPPORT.md file in the Pinax default community health file repo
- Contributing information: CONTRIBUTING.md file in the Pinax default community health file repo
- Current and historical release docs: Pinax Wiki
Django / Python | 3.6 | 3.7 | 3.8 |
---|---|---|---|
2.2 | * | * | * |
3.0 | * | * | * |
To install pinax-types:
$ pip install python-dateutil pinax-types
Add pinax.types
to your INSTALLED_APPS
setting:
INSTALLED_APPS = [
# other apps
"pinax.types",
]
Value Types define the type a metric or indicator's values can take.
While all measurement and calculated values are stored in the database as Decimals, the interpretation, validation and display of those values is determined by class methods on the Value Type classes here.
ValueType.validate(value)
validates whether value is valid for this typeValueType.template_name()
returns the template name to use for indicators of this typeValueType.display()
formats the value as a string appropriately
VALUE_TYPES
in this module maps the labels used for Value Types into the
classes themselves.
Period Types define different periods over which metrics can apply, e.g. weeks, months or quarters.
PeriodType.validate(period)
validates whether a string representation is valid for this period typePeriodType.for_date(date)
converts adatetime.date
to the string representation for the period included by that datePeriodType.start_end(period)
returns a tuple of start date and end date for the given periodPeriodType.range(start, end)
yields the periods from start to (but not including) stop. For example,period_range("Y-2010", "Y-2013")
will yield"Y-2010", "Y-2011", "Y-2012"
.PeriodType.display(period)
displays the given period in a human-readable format
PERIOD_TYPES
in this module maps the labels used for Period Types into the
classes themselves.
There are helper functions which dispatch to the right PeriodType
for a given
period and call a class method on them:
period_start_end(period)
period_range(start, stop)
period_display(period)
There is also a helper function period_for_date
which takes a period type name
like "weekly" and returns the period of the given date (or today if no date
given).
- Drop Django 1.11, 2.0, and 2.1, and Python 2,7, 3.4, and 3.5 support
- Add Django 2.2 and 3.0, and Python 3.6, 3.7, and 3.8 support
- Update packaging configs
- Direct users to community resources
- Add Django 2.0 compatibility testing
- Drop Django 1.8, 1.9, 1.10, and Python 3.3 support
- Convert CI and coverage to CircleCi and CodeCov
- Add PyPi-compatible long description
- Move documentation to README.md
Contributing information can be found in the Pinax community health file repo.
In order to foster a kind, inclusive, and harassment-free community, the Pinax Project has a Code of Conduct. We ask you to treat everyone as a smart human programmer that shares an interest in Python, Django, and Pinax with you.
For updates and news regarding the Pinax Project, please follow us on Twitter @pinaxproject and check out our Pinax Project blog.
Copyright (c) 2012-present James Tauber and contributors under the MIT license.