Jemma: Your Command-Line Coding Assistant
Overview
Jemma is a free and open-source command-line tool that brings the power of Google's Gemini API to your terminal. Get instant coding assistance, codebase explanations, and more, all without leaving your workflow.
Features
-
Interactive Code Sessions: Ask Jemma coding questions and receive real-time suggestions.
-
Codebase Explanation: Understand complex projects quickly with Jemma's detailed codebase analysis.
-
Command Watching: Let Jemma monitor the output of your commands and provide insights.
-
Code Editing: Automatically apply fixes and features to your code with Jemma's edit capabilities.
Installation
pip install .
Configuration
Before using Jemma, you need to configure your Google Gemini API key. You have two options:
- Using the
jemma-initcommand:
jemma-init
This will prompt you to enter your API key, which will be stored in ~/.jemma/config.
- Setting the
GEMINI_API_KEYenvironment variable:
export GEMINI_API_KEY="YOUR_API_KEY"
You can further configure Jemma using the jemma-configure command to select your preferred model and adjust settings like temperature and max output tokens.
jemma-configure
Usage
Jemma provides several commands to help you with your coding tasks:
- Interactive Code Session:
jemma --chat
Starts an interactive session where you can ask coding questions.
- Codebase Explanation:
jemma --explain
Provides a detailed explanation of your codebase.
- Command Watching:
jemma --watch "pytest"
Watches the output of the pytest command and provides analysis.
- Code Editing:
jemma --edit "Fix the bug in the login function"
Asks Jemma to help you fix bugs or add features to your code.
Roadmap
-
Fix configuration and improve the use of the configuration file
-
Fix edit with line enumeration
-
Add support for multiple models (Gemini Pro, etc.)
-
Implement configuration via command-line arguments
-
Create command for starting new projects
-
Improve error handling and logging
-
Add unit tests
-
MIT license
Metadata
Release files for jemma-code 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| jemma_code-0.1.1.tar.gz | 13.2 kB | Without provenance | Details for jemma_code-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| jemma_code-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for jemma_code-0.1.1-py3-none-any.whl |
Total release size: 29.2 kB
Release files / jemma_code-0.1.1.tar.gz
| Download URL | jemma_code-0.1.1.tar.gz |
|---|---|
| Size | 13.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c9595a5899b55be4c7d428fc17ee245a643ec22e67827a69bba83e803e07929e
|
|
BLAKE2b-256 checksum How to use checksums |
c10a4f83f48eac065db3e848cf5f16b5151ab261973070e435c2165a98f78584
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|
Release files / jemma_code-0.1.1-py3-none-any.whl
| Download URL | jemma_code-0.1.1-py3-none-any.whl |
|---|---|
| Size | 16.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6df350c6d629dfc20f7aca62f981d3d0d613bc11f6fec44875fd9416ee63dd05
|
|
BLAKE2b-256 checksum How to use checksums |
0e801caa028e532bbbe09f117191d833693f0eb91000956334f016cbd2be0411
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|
Security for jemma-code 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.