Skip to main content

A Python client and CLI for SolidTime time tracking.

Project description

pySolidTime

A Python client and CLI for SolidTime time tracking.

It has the features I need to integrate with my workflow. Contributions and requests are welcome!

Installation

pip install pysolidtime

Configuration

Before using pySolidTime, you need to set the following environment variables:

export SOLIDTIME_API_URL="https://app.solidtime.io/api/v1"  # Optional, defaults to this URL
export SOLIDTIME_ORG_ID="your_organization_id"
export SOLIDTIME_API_TOKEN="your_api_token"
export SOLIDTIME_USER_EMAIL="your_email@example.com"

There is a sample.env file you can use as a template

CLI Usage

View Current Timer

solidtime current

Options:

  • --description-length INTEGER: Limit the description length (default: 20)

Start a Timer

solidtime start "Working on project X"

Options:

  • --billable / --no-billable: Whether the time entry is billable (default: billable)
  • --keep / --no-keep: Whether to keep the active timer or replace it (default: keep)

Stop the Current Timer

solidtime stop

List Organization Members

solidtime members

Python API

You can also use pySolidTime as a Python library:

from pysolidtime.client import SolidTimeClient

# Initialize the client
client = SolidTimeClient()

# Get current timer
current_timer = client.get_current_timer()

# Start a new timer
client.start_timer("Working on project X", billable=True)

# Stop the current timer
client.stop_timer(current_timer)

# List members
members = client.list_members()

Building

Clone this repository. Build the project, run:

poetry install

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

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

pysolidtime-0.1.1.tar.gz (3.2 kB view details)

Uploaded Source

Built Distribution

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

pysolidtime-0.1.1-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file pysolidtime-0.1.1.tar.gz.

File metadata

  • Download URL: pysolidtime-0.1.1.tar.gz
  • Upload date:
  • Size: 3.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.13.2 Linux/6.12.19-1-MANJARO

File hashes

Hashes for pysolidtime-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ec0328f1603ebf0f9ef8038e8db7cb719f7f2be213937267b495acf4c992d61c
MD5 2e277584cebf98d4db75fe55e86b3f6b
BLAKE2b-256 6aa5fc444f0a6d83aa44d29f3ed403b216d88b0d76c163905210bf2bbe66dded

See more details on using hashes here.

File details

Details for the file pysolidtime-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: pysolidtime-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 4.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.13.2 Linux/6.12.19-1-MANJARO

File hashes

Hashes for pysolidtime-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 945eaa6f1f7d3ab4243af70046330f569d3416707d40f0ba0e8dcc875357969f
MD5 47865f0d204ed4c85b00a0932accbe37
BLAKE2b-256 1fd4546e9ed3ceba338652161ea8813016b7706e1a3ad2e8eff54cbaaef4e62f

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