A library for several purposes, including javascript i18n and stuff for the Pyramid web framework.
Project description
bag contains code for many purposes, which I find myself reusing in multiple programs – so this code must be version-controlled. I use SQLAlchemy and Pyramid a lot.
Documentation is at http://docs.nando.audio/bag/latest/
The code is at https://github.com/nandoflorestan/bag where you can do your bug reports and pull requests.
This version of bag was published with releaser.
Most important library contents
bag.spreadsheet – Import CSV and Excel spreadsheets based on headers on the first row. There is also a buffered CSV writer for outputting CSV in a web app.
bag.email_validator – The ultimate functions for email validation and domain validation, as well as an email address harvester.
bag.pathlib_complement – A Path subclass that does what pathlib doesn’t do.
bag.subcommand – Use argh to dispatch to subcommands with their command-line arguments.
bag.web.burla – Powerful URL generation independent of web frameworks, working in Python and in the client (Javascript) too. Also provided is Pyramid integration for it.
bag.web.transecma – Complete solution for javascript internationalization. Compatible with jquery templates. Includes transecma.js.
bag.web.flash_msg has been removed in favor of a better module in the kerno library. It defines a rich class for UI messages to be stored in the HTTP session.
If you use the Pyramid web framework
bag.web.pyramid.angular_csrf – Make Pyramid play ball with AngularJS to achieve CSRF protection.
bag.web.pyramid.locale – Easily enable and disable locales, let users switch languages, and use the browser’s languages by default.
bag.web.pyramid.nav – Simple web menu system (navigation).
bag.web.pyramid.plugins_manager – Make your Pyramid app extensible through plugins.
bag.web.exceptions – The Problem exception is good for throwing from a service layer, then caught in the view layer to be shown to the user. – Functions and base resources for context objects (Pyramid traversal).
bag.web.pyramid.routes – Make Pyramid routes and the route_path() function available to JS in the client.
If you use SQLAlchemy
bag.sqlalchemy.context – Convenient SQLAlchemy initialization, at last.
bag.sqlalchemy.mediovaigel – Complete solution for database fixtures using SQLAlchemy.
bag.sqlalchemy.tricks – Various SQLAlchemy gimmicks, including a great base model class.
Commands
delete_old_branches – Deletes git branches that have already been merged onto the current branch. Optionally, filter the branches by age (in days).
reorder_po – Reorders .po files (usually after transifex messes up the order of the translations in them) so the diff is always readable.
replace_text – A simple command to replace text in many files, without worrying about regular expressions.
Less important library contents
bag.check_rst – Verifies reStructuredText content for correctness.
bag.console – Functions for user interaction at the console.
bag.corrupt_image – Read image files and do something if they are corrupt.
bag.file_existence_manager – Tools for finding duplicate files using hashes.
bag.log – Convenient logging initialization.
bag.html – Encode and decode HTML and XML entities.
bag.more_codecs – Got text in some weird encoding that Python doesn’t know? OK, use iconv to decode it.
bag.show_progress – Don’t leave your user wondering if your program is hanging; print the progress every few seconds.
bag.streams – Functions that use streams (open files).
bag.text – Functions for working with unicode strings.
bag.text.words – Contains lists of nouns and adjectives and can generate a random combination words – good for generating funny test data.
bag.time – Functions to make it easier to work with datetimes. Includes a JSON encoder that supports time, datetime and Decimal.
Compiling the documentation
Install make, activate your virtualenv, and then:
pip install sphinx sphinx-autodoc-typehints ./build_sphinx_documentation.sh
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file bag-5.0.0.tar.gz
.
File metadata
- Download URL: bag-5.0.0.tar.gz
- Upload date:
- Size: 102.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.7 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.3 CPython/3.10.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
54d1577088e31dee04c2888c96cb9aa6953f6b4274c1930d3752a9aea0eb6a93
|
|
MD5 |
7eb0d4a0a10ece62fe974bc642645511
|
|
BLAKE2b-256 |
00317b16197d5309a99c9b86dac371e0bb7d0a9a50df0e6e18750faefcd46163
|
File details
Details for the file bag-5.0.0-py3-none-any.whl
.
File metadata
- Download URL: bag-5.0.0-py3-none-any.whl
- Upload date:
- Size: 115.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.7 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.3 CPython/3.10.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
d876209a8206a36590f1a797069d6a183c90f0a1f39a75ad8550fb46af161c47
|
|
MD5 |
3c40b757251be1289bebc11bd686c752
|
|
BLAKE2b-256 |
babf90e58b0fb909986a8f26eb0b63c208d4e5d0aa59036cfb39799e1f0b327b
|