Skip to main content

CLI for submitting FreeAgent timeslips

Project description

freeagent-cli

A small CLI for submitting FreeAgent timeslips without clicking through the web UI.

freeagent-cli time submit --project acme --hours 1h30m --comment "fixed the thing"

Install

uv tool install freeagent-cli

One-time setup

You'll need to register your own OAuth app with FreeAgent. It takes about two minutes and keeps your data and rate limits separate from everyone else's.

  1. Go to https://dev.freeagent.com/apps and create a new app.

  2. Set the redirect URI to: http://localhost:7878/callback

  3. Note the OAuth identifier and OAuth secret.

  4. Save them locally:

    freeagent-cli auth init --client-id <id> --client-secret <secret>
    

    Add --sandbox if you want to test against the FreeAgent sandbox first.

  5. Authorise the app in your browser:

    freeagent-cli auth login
    

    A browser tab opens, you approve, and the CLI captures the refresh token. The refresh token lasts ~20 years; access tokens auto-refresh on every command.

Credentials are stored at ~/Library/Application Support/freeagent-cli/config.json (macOS) or the equivalent platform config directory, with file mode 0600.

Usage

freeagent-cli --help                              # canonical flow
freeagent-cli projects list                       # projects + tasks in one call
freeagent-cli time submit --project <name> --hours 1h30m [--task <name>] [--comment "..."] [--dry-run]
  • --hours accepts 1.5, 90m, 1h30m, or 1:30.
  • --project / --task match by case-insensitive name substring, numeric id, or full URL.
  • --task is optional when the project has a single task; otherwise the error message lists the choices.
  • --date defaults to today (ISO YYYY-MM-DD to override).
  • --dry-run resolves the project/task/date and prints the would-be submission without sending it.

License

MIT

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

freeagent_cli-0.1.0.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

freeagent_cli-0.1.0-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: freeagent_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for freeagent_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9907f21bbffbb578129f035d5a3d42014ea342355aa1f9a740626be8595c6e11
MD5 de7d8acf9dddb1fd379a5e67c7c46ed5
BLAKE2b-256 aff333649910ac416fd70d30050d6cf4de0fefd9bc12300ffe14a0022c5657eb

See more details on using hashes here.

File details

Details for the file freeagent_cli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: freeagent_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for freeagent_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ae32414a71e7866e9f065b994e9748dcccf86da80f716a0ad724640e456091dc
MD5 f22ccb9b5878ee5d779e2474f8c05fbb
BLAKE2b-256 8cfb036d771fbec5eb9d2c21ef6c5a1a8973df83376318c6166f0a956dbcb517

See more details on using hashes here.

Supported by

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