Skip to main content
pip install clark

Testing

https://travis-ci.org/carlsverre/clark.png

Run tests by executing python setup.py test.

Classes

Super ArgParser

A nicer way to deal with config files and argparser:

config_file.cnf:

test = 1
debug

Your app:

from clark import SuperArgParser, ConfigFileAction

parser = SuperArgParser()

parser.add_argument('-c', action=ConfigFileAction)
parser.add_argument('--debug', action='store_true')
parser.add_argument('--test', type=int)
parser.add_argument('--engage')

options = parser.parse_args([
    '--engage', 'foo',
    '-c', 'config_file.cnf'
])

assert options.test == 1
assert options.engage == 'foo'
assert options.debug is True

Super Enum

A simple Enum class with lots of nice properties.

from clark import SuperEnum

class Colors(SuperEnum):
    red = SuperEnum.E
    blue = SuperEnum.E
    green = SuperEnum.E

class OtherColors(SuperEnum):
    yellow = SuperEnum.E
    red = SuperEnum.E

red = Colors['red']
red = Colors.red

assert red in Colors

assert str(red) == 'red'
assert red == Colors.red

assert Colors.red != OtherColors.red

class Foo(object):
    class Colors(SuperEnum):
        blue = SuperEnum.Element

assert Foo.Colors.blue != Colors.blue

Super JSON

Make simplejson slightly better (don’t crash on datetime objects)

from clark import super_json

now = datetime.datetime.now()
x = super_json.loads(super_json.dumps({ 'a': now }))
assert x['a'] == now.isoformat()

Super PidFile

A simple PidFile class. Instantiate when you boot up, and close it when you exit.

from clark import SuperPidFile

pidfile = SuperPidFile()
try:
    ... run your app ...
finally:
    pidfile.close()

Super Thread

Threads that terminate nicely and are awesome.

from clark import SuperThread

class T(SuperThread):
    def bootstrap(self):
        self.i = 0

    def sleep(self):
        time.sleep(0.01)

    def work(self):
        self.i += 1

    def cleanup(self):
        assert self.i > 0

t = T()
t.start()

time.sleep(1)

t.terminate()
t.join()

assert not t.is_alive()

Download files

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

Source Distribution

clark-0.1.0.tar.gz (5.4 kB view details)

Uploaded Source

File details

Details for the file clark-0.1.0.tar.gz.

File metadata

  • Download URL: clark-0.1.0.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for clark-0.1.0.tar.gz
Algorithm Hash digest
SHA256 537fb4b8bc0f97158331835502fbadd23d980fd1e4076bf74546d58a7e6e28ce
MD5 558770431faed802e9f1c521935873ed
BLAKE2b-256 1a42fbb8ef57e7fe67e68884ba4a1ccb5af7bf4bee962573cd860ef00733725d

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

1 file

Supported by

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