Skip to content

billpoulson/harvest-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Harvest CLI

Harvest CLI is a command-line interface tool designed to interact with the Harvest API, providing functionalities to manage and automate various tasks related to time tracking and invoicing.

Features

  • Authorization with the Harvest API.
  • Configuration management for API keys and user settings.
  • Command-line operations to interact with Harvest data.
  • Utility functions for common operations.

Project Structure

harvest-cli-main/
│
├── .gitignore
├── README.md
├── authorization.py
├── cli.py
├── config.py
├── harvest_client.py
├── setup.py
├── util.py
└── .vscode/
    └── launch.json
  • .gitignore: Specifies files and directories to be ignored by Git.
  • README.md: Provides information about the project.
  • authorization.py: Handles authorization with the Harvest API.
  • cli.py: Contains the main command-line interface logic.
  • config.py: Manages configuration settings.
  • harvest_client.py: Implements the client for interacting with the Harvest API.
  • setup.py: Script for setting up the project.
  • util.py: Contains utility functions used throughout the project.
  • .vscode/launch.json: Configuration file for VSCode debugging.

Getting Started

Prerequisites

  • Python 3.7+
  • An active Harvest account with API access.

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/harvest-cli.git
cd harvest-cli
  1. Install the required dependencies:
pip install .

Configuration

Create a configuration file to store your Harvest API key and other settings. You can use the config.py module to manage your configurations.

Usage

The main entry point for using the CLI is the cli.py file. You can run it directly from the command line:

harvest init
harvest track

Available Commands

  • init: Set up authorization with the Harvest API and select a project for the active repo.
  • track: Track time against the project.

Testing

Dependencies

(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -
poetry --version
pip install pytest-watch
[System.Environment]::SetEnvironmentVariable("Path", $env:Path + $env:APPDATA\Python\Scripts", [System.EnvironmentVariableTarget]::User)
ptw

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contact

For questions or suggestions, please open an issue on GitHub or contact the project maintainer.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages