Skip to main content

Sven CLI client for agent automation

Project description

Sven

Sven is the CLI client for ActiveAgent, providing a command-line interface for interacting with the ActiveAgent server.

Installation

pip install sven

Usage

# Basic usage
aa --help

# Connect to a server
aa connect --url http://localhost:8000

# Run an agent
aa agent run --name my-agent

# List available tools
aa tools list

Development

Setup

# Clone the repository
git clone https://git.swedishembedded.com/core/platform/sven.git
cd sven

# Create a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

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

# Install pre-commit hooks
pre-commit install

Testing

pytest

Linting

# Run all linters
pre-commit run --all-files

# Run individual linters
black .
isort .
mypy .
ruff .

CI/CD Pipeline

This project uses GitLab CI/CD for automated testing, building, and deployment. The pipeline includes:

  • Lint: Code quality checks with black, isort, ruff, and mypy
  • Test: Unit and integration tests with pytest
  • Build: Package building with setuptools
  • Publish: Publishing to PyPI (on tags) and TestPyPI (on main branch)

Releasing

We use semantic versioning for this project. To create a new release:

  1. Update the CHANGELOG.md with your changes
  2. Use bump2version to increment the version:
    # For a patch release (0.1.0 -> 0.1.1)
    bump2version patch
    
    # For a minor release (0.1.0 -> 0.2.0)
    bump2version minor
    
    # For a major release (0.1.0 -> 1.0.0)
    bump2version major
    
  3. Push the new tag to trigger the release pipeline:
    git push --tags
    

Contributing

Please see CONTRIBUTING.md for details on how to contribute to this project.

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

sven_client-0.1.0.tar.gz (28.7 kB view details)

Uploaded Source

Built Distribution

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

sven_client-0.1.0-py3-none-any.whl (35.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sven_client-0.1.0.tar.gz
  • Upload date:
  • Size: 28.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for sven_client-0.1.0.tar.gz
Algorithm Hash digest
SHA256 539142ef46a475467d2df9f391adcd24d4e44d8b8f1a3a8a0d7396f2eb7db35e
MD5 156d1263b7128bf72d8b834f28fa5057
BLAKE2b-256 e6c0e406cc58d38dc1caa05b883874438723de7d9fdc59f19aaef9b3a0f213bf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sven_client-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 35.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for sven_client-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 55e61197998e75106abf210ba997918838637f03522d30db4e998fb0a4316819
MD5 a4ec6a9c9521d9390ca60b8e9c8c6fd7
BLAKE2b-256 27bbc405315d7f4b7c5bad61a156c297c80a5430156789bc13a702a6376865c2

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