Thanks to visit codestin.com
Credit goes to github.com

Skip to content

jakob1379/text2ics

Repository files navigation

text2ics

A Python tool to convert unstructured text into an ICS calendar file using an LLM. It provides both a command-line interface (CLI) and a Streamlit web application.

Preview

Installation

Ensure you have Python installed, then clone the repository and install the dependencies.

# using pip
pip install text2ics

# or run directly with uv
uvx text2ics

You will also need an API key for a compatible LLM service (like OpenAI).

Usage

Command-Line Interface (CLI)

The CLI allows you to convert a text file to an ICS file directly. Set your API key as an environment variable first.

export <OPENAI|CLAUDE|GEMINI>_API_KEY="your-api-key"
text2ics path/to/your/textfile.txt > events.ics

For more options, run text2ics --help.

Streamlit Web App

The web app provides an interactive way to convert text.

streamlit run app/app.py

Open your browser to the URL provided by Streamlit to use the application.

Development

This project uses uv for dependency management and poethepoet for running tasks.

Install all dependencies, including for development:

uv sync --all-extras

Run common development tasks:

Configured tasks:
poe fmt                   Formats the code using Ruff.
poe lint                  Checks the code for linting issues and fixes them using Ruff.
poe check                 Performs type checking using Pyright.
poe test                  Runs the test suite using Pytest.
poe all                   Runs all tasks: fmt, lint, check, and test.
poe ci:fmt                Checks if the code is properly formatted using Ruff.
poe ci:lint               Checks the code for linting issues without fixing them.
poe app                   Runs the Streamlit app with live reload enabled.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •