Skip to main content

junes: the Jules CLI

Project description

Jules CLI

A command-line interface for the Jules REST API.

License: MIT Python 3.8+

Installation

Use Case Recommended Method
End Users Quick Install (One-Liner)
Contributors Manual Clone with uv
Without uv Manual Clone with pip

Quick Install (One-Liner) ⭐

curl -sSL https://raw.githubusercontent.com/fanioz/junes/main/install.sh | bash

This will:

  • Install uv if not present
  • Clone the repository to ~/.junes/junes
  • Set up a virtual environment
  • Install the package
  • Create the junes command in ~/.local/bin

Note: Make sure ~/.local/bin is in your PATH.


Alternative Installation Methods

Manual Clone with uv (Recommended for Development)

# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Clone the repository
git clone https://github.com/fanioz/junes.git
cd junes

# Install in development mode
uv pip install -e .

# Or install with development dependencies
uv pip install -e ".[dev]"

# Create symlink to use globally
ln -sf "$(pwd)/junes-uv" ~/.local/bin/junes

Manual Clone with pip (Traditional)

# Clone the repository
git clone https://github.com/fanioz/junes.git
cd junes

# Install in development mode
pip install -e .

# Or install with development dependencies
pip install -e ".[dev]"

From PyPI

# Using uv
uv pip install junes

# Using pip
pip install junes

Note: The PyPI package is named junes, but the CLI command is junes. This naming avoids conflicts with existing PyPI packages.

Configuration

Initialize configuration

junes config init

This will create a configuration file at ~/.junes/config.toml and prompt for your API key.

API Key

The API key can be provided in three ways (in order of priority):

  1. CLI option: junes --api-key YOUR_KEY sources list
  2. Environment variable: Export JULES_API_KEY=YOUR_KEY
  3. Config file: Set via junes config init

Usage

List sources

junes sources list
junes sources list --format json
junes sources list --format table

Create a session

junes sessions create <source-id>
junes sessions create <source-id> --format json

List sessions

junes sessions list
junes sessions list --status active

Get session details

junes sessions get <session-id>

Approve a plan

junes sessions approve <session-id>

List activities

junes activities list <session-id>

Send a message to the agent

junes agent send <session-id> "Your message here"
echo "Your message" | junes agent send <session-id>

Output Formats

All commands support three output formats:

  • plain (default): Human-readable text output
  • table: Tabular output using ASCII tables
  • json: Machine-readable JSON output

Verbose Mode

Enable verbose logging to see HTTP request details:

junes --verbose sources list

Development

Run tests

Using uv (recommended):

# Run all tests
uv run pytest

# Run with coverage
uv run pytest --cov=junes --cov-report=html

# Run specific test file
uv run pytest tests/test_client.py

Using pytest directly:

# Run all tests
pytest

# Run with coverage
pytest --cov=junes --cov-report=html

# Run specific test file
pytest tests/test_client.py

Property-based testing

Property tests use Hypothesis and run with minimum 100 iterations by default.

Requirements

  • Python 3.8 or higher

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

junes-2.0.0.tar.gz (27.9 kB view details)

Uploaded Source

Built Distribution

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

junes-2.0.0-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file junes-2.0.0.tar.gz.

File metadata

  • Download URL: junes-2.0.0.tar.gz
  • Upload date:
  • Size: 27.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for junes-2.0.0.tar.gz
Algorithm Hash digest
SHA256 988188561e67c622c5e78a7291b4c5647e45c636bbc7785fe79f6a11f73715df
MD5 7cb7f3bc7400742195a97b44a16ec248
BLAKE2b-256 461d59ce085af92f3111e99798ba8498075ba2eddc1dab8ced7b5169626f4bdd

See more details on using hashes here.

File details

Details for the file junes-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: junes-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for junes-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8e120a61ca6d23c209ad5306a911fb6b4fd2eb3efe0bf00d1f7f467a184e3b1e
MD5 7bf637c8c3513ae5e48d1bc8d38163c9
BLAKE2b-256 50e27219d63b272ee167715e39ec633dbee722827c1405772355368c4cd965d1

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