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()

Metadata

Release files for clark 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for clark 0.1.0
File Size Uploaded
clark-0.1.0.tar.gz 5.4 kB Details

Release files / clark-0.1.0.tar.gz

Download URL clark-0.1.0.tar.gz
Size 5.4 kB
Tags Source
SHA-256 checksum
How to use checksums
537fb4b8bc0f97158331835502fbadd23d980fd1e4076bf74546d58a7e6e28ce
BLAKE2b-256 checksum
How to use checksums
1a42fbb8ef57e7fe67e68884ba4a1ccb5af7bf4bee962573cd860ef00733725d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page