Skip to main content

Back end framework for journaling and time tracking apps (like `dob`!)

Project description

Build Status Coverage Status Documentation Status GitHub Release Status PyPI Release Status PyPI Supported Python Versions License Status

nark is a Python 3 support library for (at least one) journaling, time tracking, and personal relationship management application(s).

nark provides an API for storing, retrieving, and reporting on time interval data, aka timesheet or journal entries.

NOTE: You probably want to install a client application, such as dob – nark is usually installed automatically.

But if you want, you can install nark manually with pip:

pip install nark

For other setup options, read the installation guide.

Story

nark is inspired by Hamster, the esteemed time tracking application for GNOME.

nark is Hamster-friendly. Upgrade your existing database and start dobbing today!

nark is a fork of the latent modern hamster-lib code rewrite. The nark developers appreciate such a wonderful starting point!

nark is simply a Fact storage and reporting API, and does not care about the database nor the user interface. nark does one thing – and only one thing – and hopefully well!

nark is developed with the goal that any Python developer – with a few extra minutes and a sense of adventure – would feel comfortable banging on it when it breaks, or adding new features where they see a need for improvement. (But hopefully you’ll find that nark just works, and that it already does what you want!)

Features

  • Designed for modern Python releases (3.6, 3.7, and 3.8).

  • Naturally Unicode compatible – spice up your notes!

  • Can migrate legacy Hamster databases (and fix integrity issues, too).

  • Respectable coverage (to give you comfort knowing your Facts are safe).

  • Decent documentation (including a live demo with inline instruction).

  • Comfortable code base (focus on the feature, not on the format).

  • Free and open source – hack away!

See how you can contribute to the project.

Example

This is a simple nark library usage example using the Python interpreter, showing how to create a Fact instance from a Factoid string:

$ python3
>>> from nark.items import Fact
>>> factoid = '08:00 to 2019-02-16 10:00: act@cat: #tag1: Hello, nark!'
>>> fact, err = Fact.create_from_factoid(factoid, time_hint='verify_both')
>>> fact
# Fact(
#   pk=None,
#   deleted=False,
#   split_from=None,
#   _start='08:00',
#   _end=datetime.datetime(2019, 2, 16, 10, 0),
#   _description='Hello, nark!',
#   activity=Activity(
#     pk=None
#     deleted=False,
#     _name='act',
#     category=Category(
#       pk=None,
#       deleted=False,
#       _name='cat',
#     ),
#   ),
#   tags=[Tag(
#     pk=None,
#     deleted=False,
#     _name='tag1',
#   )],
# )
"Information Cat"

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

nark-3.2.8.tar.gz (194.0 kB view details)

Uploaded Source

Built Distribution

nark-3.2.8-py3-none-any.whl (184.5 kB view details)

Uploaded Python 3

File details

Details for the file nark-3.2.8.tar.gz.

File metadata

  • Download URL: nark-3.2.8.tar.gz
  • Upload date:
  • Size: 194.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for nark-3.2.8.tar.gz
Algorithm Hash digest
SHA256 8816a93f3208cd07954b4104b70cbf24ce80a365958763ff281e16479ddba347
MD5 1fa7120f3d2b9a2b04610397afb923bf
BLAKE2b-256 fe31337e63da6d3c08cec6017b25454262c4e55c67a2d0e49b28845252668f2e

See more details on using hashes here.

File details

Details for the file nark-3.2.8-py3-none-any.whl.

File metadata

  • Download URL: nark-3.2.8-py3-none-any.whl
  • Upload date:
  • Size: 184.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for nark-3.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 630e02aa24d3c4d88a26d0348ef6150733f0a5b92e763ecab56d17cca2caca16
MD5 e5c01a3e0036a9e8009326795a1f5f6d
BLAKE2b-256 683e6d262099c361ce57a867e1eff99edc03d869eed6c78e0645609ce5d15bc8

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