Typelets is a Python typing utility module designed to augment some of the types provided in Python and third-party libraries. It was built to help develop Review Board, our premier code review product from Beanbag, and we're making it available for use in other projects.
This includes general Python additions, including:
-
typelets.funcs: Typing for general keyword arguments in functions.
-
typelets.json: Typing for JSON structures, and for application-defined data that can be serialized to JSON.
-
typelets.symbols: Symbols for marking types as unset/unsettable.
Plus typing useful for Django developers:
-
typelets.django.auth: Types for accepting users.
-
typelets.django.forms: Types for forms and form fields.
-
typelets.django.json: Types for Django's JSON serialization.
-
typelets.django.models: Types for working with Django models.
-
typelets.django.strings: Types for localized strings.
-
typelets.django.urls: Types for URL management.
To install typelets, run:
$ pip install typelets
Typelets follows semantic versioning, meaning no surprises when you upgrade.
See the Typelets documentation for usage.
Typelets is available under the MIT license.
Contributions to Typelets can be made on our Review Board server at https://reviews.reviewboard.org/.
To post a change for review:
-
Download RBTools:
$ pip install rbtools
-
Create a branch in your Git clone and make your changes.
-
Post the change for review:
$ rbt post
To update your change:
$ rbt post -u
-
Review Board - Our open source, extensible code review, document review, and image review tool.
-
Djblets - Our pack of Django utilities for datagrids, API, extensions, and more. Used by Review Board.
-
Housekeeping - Deprecation management for Python modules, classes, functions, and attributes.
-
kgb - A powerful function spy implementation to help write Python unit tests.
-
Registries - A flexible, typed implementation of the Registry Pattern for more maintainable and extensible codebases.
You can see more on github.com/beanbaginc and github.com/reviewboard.