Skip to main content

A command line program to track writing progress

Project description

squirrel-output

Squirrel

Very much a WIP project

squirrel is a command line program that tracks you writing progress and gives you useful information and cute pictures of squirrels.

How it works

Squirrel's design was inspired by git's design (from a user perspective at least). To start a project, you have to initialize a new project in your directory of choice which will create a .squirrel folder structure in your directory similar to .git directories. And that folder will hold information about the project in general and the word counts. However squirrel is not a static program otherwise we wouldn't be able to track progress without explicit input of the user. That's why we need to have a watch command that will listen to any changes and update the appropriate information.

Plugins or Project Types

As many writing project use many file formats and programs, squirrel has a plugin architecture to have many ways to count words. Which plugin will used depends on the project-type field. Here are the plugins available now:

  • text
  • texcount

hmm, haven't found your project type? you can write Python code? Please make a pull request :)

Requirement & Installation

Tested Python versions:

  • python 3.8
  • python 3.9
  • python 3.10

Python versions:

All pip dependencies are in the Pipfile file.

Users

Coming soon

Devs

Grab the repo, install dependencies, and voila.

git clone https://github.com/squirrel-writer/squirrel
cd squirrel
pipenv install --dev && pipenv shell
# Install the package in editable mode
# use pip with this command, so that Pipfile doesn't get modified
pip install -e .

# To run unittests
pytest
# Or use tox to run tests on multiple versions
tox

Usage

There 4 main verbs to interact with squirrel:

  • init
  • watch
  • set
  • overview

You can about their options with -h or --help option. (e.g squirrel init -h, etc.)

Init

squirrel init -n Assay --project-type text

Set

Set can be used after init to change or set fields.

squirrel set --name "English Assay" --goal 10000 -due 05/01/2022

Watch

Run this command to tell squirrel to watch your writing.

squirrel watch start --daemon
squirrel watch status
squirrel watch stop

Contributors

How can you help

If you're looking to help squirrel become better, we're always looking for people to test, report any bugs, improve documentation, and submit any fixes or features. Any contribution (even documentation) goes a long way.

Pull Requests

PRs are welcome :). Make sure to open an issue before submitting the PR so that everybody can chip in with their opinion.

If your PR with be changing some dependencies, don't forget to update Pipfile.lock as well as the dependencies in setup.py with pipenv-setup.

Testing

The testing suite is very small at the moment (about 7 tests). We need help in making it robust and exhaustive. Any contribution on this regard is highly appreciated.

squirrel is still in an experimental stage. Bugs are probably present, so any testing and bug reporting is welcome.

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

squirrel-writer-0.0.1.tar.gz (200.8 kB view details)

Uploaded Source

Built Distribution

squirrel_writer-0.0.1-py3-none-any.whl (27.3 kB view details)

Uploaded Python 3

File details

Details for the file squirrel-writer-0.0.1.tar.gz.

File metadata

  • Download URL: squirrel-writer-0.0.1.tar.gz
  • Upload date:
  • Size: 200.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for squirrel-writer-0.0.1.tar.gz
Algorithm Hash digest
SHA256 1cf8f58f2fd4a55828adc1a84708b2b2d4883bc9fe2e67fb75d4b41687e59da1
MD5 a662a4ed9b793d9cff7814dec2edc43e
BLAKE2b-256 5b16dcd3ef99e01f8b7d36392e34afd76dab100f643f952bd5cf7003849e73f7

See more details on using hashes here.

File details

Details for the file squirrel_writer-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: squirrel_writer-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 27.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for squirrel_writer-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bed513672d66ebd06ef4fca99a43b5d7a65efed1b6c8494edc916f20386e80c1
MD5 62ba4568ecb10a0312a952eaf2374145
BLAKE2b-256 17f2c3e9164f35b752d2598419b7ea27acf3ef6915789b8f99ee54d3e135fa1e

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