Skip to main content

junes: the Jules CLI

Project description

junes

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.1.0.tar.gz (29.4 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.1.0-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for junes-2.1.0.tar.gz
Algorithm Hash digest
SHA256 743dd0125dfa319020eec542192e9e857d56f06350909ba5a57fb4a5d96a05ae
MD5 5cda856092dd79f38744873ce448e03c
BLAKE2b-256 eb952de5dda83b9b445e6b436a200bf7bd70b24490c0722dd89e9d507ba07183

See more details on using hashes here.

File details

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

File metadata

  • Download URL: junes-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.8 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e49914813bb59996b0ea530302b9a8e67a5a92933a1355fa28a86d45b85e8b58
MD5 df51a7d01dc813096115e80bf0928472
BLAKE2b-256 3dbdf55eac6469d6033b99dce3ae26ac2ce52726c272ae3eb78ec60ed7841ad9

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