Skip to main content

A set of generic utility classes and helper functions for Python development.

Project description

package

PyPI Package latest release

A set of generic utility classes and helper functions for Python development.

generic_utils is a set of generic Python utilities which currently target Python 2.7.X environments with no other required dependencies. The code targets both general production code as well as test utilities to facilitate easier test generation, management and complexity.

This library is not currently intended to be generally useful to the community at large as there is work to be done to provide greater Python support as well as general documentation and upkeep, but has been used successfully in production environments within the prescribed environments.

Installation

pip install generic_utils

Development

Install requirements into a local virtualenv:

virtualenv env
env/bin/pip install -e ".[html,cassandra,celery_test,test_utils]"

This project requires available cassandra and redis hosts in order to run the full test-suite.

Redis Setup:

docker run -d --name test-redis -p 6379:6379 -v /path/to/storage/redis:/data redis

Connect to the container:

$ docker exec -i -t test-redis /bin/bash
$ root@7a3377df67f0:/data# redis-cli
127.0.0.1:6379> SET __THIS_IS_A_TEST_INSTANCE__ True
OK
127.0.0.1:6379> exit

Cassandra Setup:

$ docker run --name test-cassandra -d -p 9042:9042 -p 7000:7000 -v /path/to/storage/cassandra:/var/lib/cassandra cassandra:3.0

Connect to the container:

$ docker exec -i -t test-cassandra /bin/bash

Open cqlsh and create the python_utils_test keyspace:

$ cqlsh
> CREATE KEYSPACE python_utils_test WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1} AND DURABLE_WRITES = true;

Configure Cassandra cluster in tests/local_settings.py (not in version-control). Replace the values with appropriate values for your environment:

CQLENGINE = {
    "TEST_CLUSTER": {
        ConfigKey.CONTACT_POINTS: get_config_value("TEST_CASSANDRA_CONTACT_POINTS", default=["localhost"]),
        ConfigKey.KEYSPACE: get_config_value("TEST_CASSANDRA_KEYSPACE", "python_utils_test"),
        ConfigKey.PORT: get_config_value("TEST_CASSANDRA_PORT", default=9042),
        ConfigKey.USERNAME: get_config_value("TEST_CASSANDRA_USERNAME", default=""),
        ConfigKey.PASSWORD: get_config_value("TEST_CASSANDRA_PASSWORD", default=""),
        ConfigKey.DEFAULT_TIMEOUT: EXPLICTLY_NOT_10_SECONDS_TIMEOUT
    }
}

Run the test suite:

nosetests tests

Or, using tox:

tox

Project details


Download files

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

Source Distribution

generic_utils-0.20.0.tar.gz (122.7 kB view details)

Uploaded Source

Built Distribution

generic_utils-0.20.0-py2.py3-none-any.whl (128.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file generic_utils-0.20.0.tar.gz.

File metadata

File hashes

Hashes for generic_utils-0.20.0.tar.gz
Algorithm Hash digest
SHA256 bae1de39da3d98fc2ebf390ed1034945772da41866953f236590e6ad4a8e2cf6
MD5 5779a1b0cbfeb25235cdadd31e776546
BLAKE2b-256 6902e6461ee90cb98b0341e1412d3179f6c0990c738ca5114bbcf2b4fbbe0d4d

See more details on using hashes here.

File details

Details for the file generic_utils-0.20.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for generic_utils-0.20.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 87977c332841ae30013dffd807b8d2f7bbfd65a066f0f8b931da20e94b93b498
MD5 88b5dc115761880fdc64ae79f9a83787
BLAKE2b-256 42db5d5c9956745a343895ddee93d79d686216cf9550d46452b5950c9f820f7e

See more details on using hashes here.

Supported by

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