Git Product home page Git Product logo

nark's Introduction

nark

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"

nark's People

Contributors

hotoffthehamster avatar elbenfreund avatar landonb avatar requires avatar felixschwarz avatar jtojnar avatar doctormo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.