Skip to main content

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.

  • bag 0.8.0 is the last version that supported Python 2.6.

  • bag 0.9.0 is the last version that supported Python 2.7.

  • bag 1.3.0 is the last version that supported Python 3.4.

  • bag 2.0 requires Python 3.5’s “typing” module for gradual typing.

  • bag 2.1.0 is the last version that supported Python 3.5.

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.flash_msg – Advanced flash messages for any web framework. Also provided is Pyramid integration.

  • bag.web.transecma – Complete solution for javascript internationalization. Compatible with jquery templates. Includes transecma.js.

If you use the Pyramid web framework

If you use SQLAlchemy

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.

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.memoizeMemoize decorator with a LRU (least recently used) cache, which can take a keymaker function as an argument.

  • 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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bag-3.1.0.tar.gz (112.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bag-3.1.0-py2.py3-none-any.whl (128.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file bag-3.1.0.tar.gz.

File metadata

  • Download URL: bag-3.1.0.tar.gz
  • Upload date:
  • Size: 112.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.8

File hashes

Hashes for bag-3.1.0.tar.gz
Algorithm Hash digest
SHA256 c4cfd203943fd0a52ed17e66284fab7b6f71d2073adb816347496e2b2b539983
MD5 7e9ce1a70a16642e7dd632bd56fcf653
BLAKE2b-256 289c7415c091e6e45954720254856209aec0e62a15d3b833094b75d9e95b0997

See more details on using hashes here.

File details

Details for the file bag-3.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: bag-3.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 128.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.8

File hashes

Hashes for bag-3.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 70eca5d6829845a26433525befe66c0017c4b212c59d9b86ddac0dc1ef3b1d15
MD5 7e42d6da3d768b1af54632cac7ec0f03
BLAKE2b-256 2983c1edc2ce4ff5424bc89371a729844f2bf975c4ccce5c155ebfcc97ef02ec

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page