diff --git a/README.md b/README.md index 878b4b32..5f5d9314 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

- readme-ai-banner-logo + readme-ai-banner-logo

Designed for simplicity, customization, and developer productivity. @@ -82,7 +82,7 @@ Let's take a look at some possible customizations created by readme-ai: - custom-dragon-project-logo + custom-dragon-project-logo
--image custom --badge-color FF4B4B --badge-style flat-square --header-style classic @@ -90,7 +90,7 @@ Let's take a look at some possible customizations created by readme-ai:
- compact-readme-header + compact-readme-header
--image cloud --header-style compact --toc-style fold @@ -98,7 +98,7 @@ Let's take a look at some possible customizations created by readme-ai:
- svg- + svg-
--badge-style for-the-badge --header-style svg @@ -106,12 +106,25 @@ Let's take a look at some possible customizations created by readme-ai: - readme-header-with-cloud-logo + ascii-readme-header-style +
+ --header-style ascii + + + ascii-box-readme-header-style +
+ --header-style ascii_box + + + + + + readme-header-with-cloud-logo
--align left --badge-style flat-square --image cloud - readme-header-with-gradient-markdown-logo + readme-header-with-gradient-markdown-logo
--align left --badge-style flat --image gradient @@ -119,12 +132,12 @@ Let's take a look at some possible customizations created by readme-ai: - custom-balloon-project-logo + custom-balloon-project-logo
--badge-style flat --image custom - readme-header-with-skill-icons-light + readme-header-with-skill-icons-light
--badge-style skills-light --image grey @@ -132,12 +145,12 @@ Let's take a look at some possible customizations created by readme-ai: - readme-header-with-blue-markdown-logo + readme-header-with-blue-markdown-logo
--badge-style flat-square - readme-header-with-black-readme-logo + readme-header-with-black-readme-logo
--badge-style flat --image black @@ -145,7 +158,7 @@ Let's take a look at some possible customizations created by readme-ai: - custom-database-project-logo + custom-database-project-logo
--image custom --badge-color 00ffe9 --badge-style flat-square --header-style classic @@ -153,7 +166,7 @@ Let's take a look at some possible customizations created by readme-ai: - llm-generated-project-logo + llm-generated-project-logo
--image llm --badge-style plastic --header-style classic @@ -161,29 +174,17 @@ Let's take a look at some possible customizations created by readme-ai: - readme-header-style-modern + readme-header-style-modern
-i custom -bc BA0098 -bs flat-square -hs modern -ts fold - - - - ascii-readme-header-style -
- --header-style ascii - - - ascii-box-readme-header-style -
- --header-style ascii_box - - -See the Configuration section for a complete list of CLI options. +> [!IMPORTANT] +> Find detailed guides and tutorials for configuring and customizing your README in the Official Documentation. -**Additional Generated Sections:** +Next, let's explore the key sections of a typical README generated by readme-ai.

๐Ÿ“ Overview
@@ -196,7 +197,7 @@ See the readme-overview-section + readme-overview-section @@ -212,7 +213,7 @@ See the readme-features-section + readme-features-section @@ -229,7 +230,7 @@ See the - directory-tree + directory-tree @@ -241,7 +242,7 @@ See the - file-summaries + file-summaries
@@ -257,7 +258,7 @@ See the getting-started-section-prerequisites + getting-started-section-prerequisites @@ -265,7 +266,7 @@ See the getting-started-section-usage-and-testing + getting-started-section-usage-and-testing @@ -284,7 +285,7 @@ See the contributing-guidelines-section + contributing-guidelines-section @@ -294,7 +295,7 @@ See the footer-readme-section + footer-readme-section @@ -306,7 +307,7 @@ See the  Pip +###  Pip ```sh โฏ pip install readmeai @@ -349,7 +350,7 @@ Choose your preferred installation method: [![pipx](https://img.shields.io/badge/pipx-2CFFAA.svg?style=flat&logo=pipx&logoColor=black)](https://pipxproject.github.io/pipx/installation/) --> -###  Pipx +###  Pipx ```sh โฏ pipx install readmeai @@ -363,7 +364,7 @@ Choose your preferred installation method: [![docker](https://img.shields.io/badge/Docker-2496ED.svg?style=flat&logo=Docker&logoColor=white)](https://hub.docker.com/r/zeroxeli/readme-ai) --> -###  Docker +###  Docker Pull the latest Docker image from the Docker Hub repository. @@ -371,7 +372,7 @@ Pull the latest Docker image from the Docker Hub repository. โฏ docker pull zeroxeli/readme-ai:latest ``` -###  From source +###  From source
Click to expand instructions @@ -395,7 +396,7 @@ Pull the latest Docker image from the Docker Hub repository. Alternatively, the project can be setup using the bash script below: -###  Bash +###  Bash 1. **Run the setup script:** @@ -405,7 +406,7 @@ Alternatively, the project can be setup using the bash script below: Or, use `poetry` to build the project: -###  Poetry +###  Poetry 1. **Install dependencies using Poetry:** @@ -534,23 +535,23 @@ Add more customization options: --emojis ``` -###  Docker +###  Docker Run the Docker container with the OpenAI client: ```sh โฏ docker run -it --rm \ - -e OPENAI_API_KEY=$OPENAI_API_KEY \ - -v "$(pwd)":/app zeroxeli/readme-ai:latest \ - -r https://github.com/eli64s/readme-ai \ - --api openai + -e OPENAI_API_KEY=$OPENAI_API_KEY \ + -v "$(pwd)":/app zeroxeli/readme-ai:latest \ + --repository https://github.com/eli64s/readme-ai \ + --api openai ``` -###  From source +###  From source
Click to expand instructions -###  Bash +###  Bash If you installed the project from source with the bash script, run the following command: @@ -566,7 +567,7 @@ If you installed the project from source with the bash script, run the following โฏ python3 -m readmeai.cli.main -r https://github.com/eli64s/readme-ai ``` -###  Poetry +###  Poetry 1. **Activate the virtual environment:** @@ -582,7 +583,7 @@ If you installed the project from source with the bash script, run the following
-###  Streamlit +###  Streamlit Try readme-ai directly in your browser, no installation required. See the
readme-ai-streamlit repository for more details. @@ -642,33 +643,32 @@ Customize your README generation using these CLI options: | `--temperature` | Creativity level for content generation | `0.1` | | `--tree-depth` | Maximum depth of the directory tree structure | `2` | -For a full list of options, run: +Run the following command to view all available options: ```sh -readmeai --help +โฏ readmeai --help ``` -Visit the [Official Documentation][mkdocs] for more detailed information on configuration options, examples, and best practices. +Visit the [Official Documentation][mkdocs] for more detailed information on configuration options, examples, and best practices. --- ## ๐ŸŽจ Examples -| Language/Framework | Output File | Input Repository | Description | -| :--: | :--: | :--: | :--: | -| Python | [readme-python.md][0a] | [readme-ai][0b] | Core readme-ai project | -| TypeScript & React | [readme-typescript.md][1a] | [ChatGPT App][1b] | React Native ChatGPT app | -| PostgreSQL & DuckDB | [readme-postgres.md][2a] | [Buenavista][2b] | Postgres proxy server | -| Kotlin & Android | [readme-kotlin.md][3a] | [file.io Client][3b] | Android file sharing app | -| Streamlit | [readme-streamlit.md][4a] | [readme-ai-streamlit][4b] | Streamlit UI for readme-ai app | -| Rust & C | [readme-rust-c.md][5a] | [CallMon][5b] | System call monitoring tool | -| Docker & Go | [readme-go.md][6a] | [docker-gs-ping][6b] | Dockerized Go app | -| Java | [readme-java.md][7a] | [Minimal-Todo][7b] | Minimalist todo Java app | -| FastAPI & Redis | [readme-fastapi-redis.md][8a] | [async-ml-inference][8b] | Async ML inference service | -| Jupyter Notebook | [readme-mlops.md][9a] | [mlops-course][9b] | MLOps course repository | -| Apache Flink | [readme-local.md][10a] | Local Directory | Example using a local directory | - -Find more examples [here](https://github.com/eli64s/readme-ai/tree/main/examples). +| Technology | Example Output | Repository | Description | +|------------|---------------|------------|-------------| +| Readme-ai | [readme-ai.md][default] | [readme-ai][readme-ai] | Readme-ai project | +| Apache Flink | [readme-pyflink.md][modern-header] | [pyflink-poc][pyflink] | Pyflink project | +| Streamlit | [readme-streamlit.md][svg-banner] | [readme-ai-streamlit][streamlit] | Streamlit web app | +| Vercel & NPM | [readme-vercel.md][dalle-logo] | [github-readme-quotes][vercel] | Vercel deployment | +| Go & Docker | [readme-docker-go.md][for-the-badge] | [docker-gs-ping][docker-golang] | Dockerized Go app | +| FastAPI & Redis | [readme-fastapi-redis.md][fastapi-redis] | [async-ml-inference][fastapi] | Async ML inference service | +| Java | [readme-java.md][compact-header] | [Minimal-Todo][java] | Minimalist todo Java app | +| PostgreSQL & DuckDB | [readme-postgres.md][classic-header] | [Buenavista][postgres] | Postgres proxy server | +| Kotlin | [readme-kotlin.md][readme-kotlin] | [android-client][kotlin] | Android client app | +| Offline Mode | [offline-mode.md][offline-mode] | [litellm][litellm] | LLM API service | + +Find additional README examples in the [examples directory](https://github.com/eli64s/readme-ai/tree/main/examples). --- @@ -717,37 +717,8 @@ README-AI is released under the terms of the [MIT License][license]. --- - -[overview]: #-overview "๐Ÿ”ฎ Overview" -[demo]: (#-demo) "๐Ÿ‘พ Demo" -[features]: (#-features) "โ˜„๏ธ Features" -[getting-started]: (#-getting-started) "๐Ÿ›ธ Getting Started" -[configuration]: (#-configuration) "๐Ÿ”ก Configuration" -[examples]: (#-examples) "๐ŸŽจ Examples" -[contributing]: (#-contributing) "๐Ÿ”ฐ Contributing" - - -[0a]: https://github.com/eli64s/readme-ai/blob/main/examples/readme-ai.md "readme-python.md" -[0b]: https://github.com/eli64s/readme-ai "readme-ai" -[1a]: https://github.com/eli64s/readme-ai/blob/main/examples/readme-typescript.md "readme-typescript.md" -[1b]: https://github.com/Yuberley/ChatGPT-App-React-Native-TypeScript "ChatGPT App" -[2a]: https://github.com/eli64s/readme-ai/blob/main/examples/readme-postgres.md "readme-postgres.md" -[2b]: https://github.com/jwills/buenavista "Buenavista" -[3a]: https://github.com/eli64s/readme-ai/blob/main/examples/readme-kotlin.md "readme-kotlin.md" -[3b]: https://github.com/rumaan/file.io-Android-Client "file.io Client" -[4a]: https://github.com/eli64s/readme-ai/blob/main/examples/readme-streamlit-v0.5.88.md "readme-streamlit.md" -[4b]: https://github.com/eli64s/readme-ai-streamlit "readme-ai-streamlit" -[5a]: https://github.com/eli64s/readme-ai/blob/main/examples/readme-rust-c.md "readme-rust-c.md" -[5b]: https://github.com/DownWithUp/CallMon "CallMon" -[6a]: https://github.com/eli64s/readme-ai/blob/main/examples/readme-docker-go.md "readme-docker-go.md" -[6b]: https://github.com/olliefr/docker-gs-ping "docker-gs-ping" -[7a]: https://github.com/eli64s/readme-ai/blob/main/examples/readme-java.md "readme-java.md" -[7b]: https://github.com/avjinder/Minimal-Todo "Minimal-Todo" -[8a]: https://github.com/eli64s/readme-ai/blob/main/examples/readme-fastapi-redis.md "readme-fastapi-redis.md" -[8b]: https://github.com/FerrariDG/async-ml-inference "async-ml-inference" -[9a]: https://github.com/eli64s/readme-ai/blob/main/examples/readme-mlops.md "readme-mlops.md" -[9b]: https://github.com/GokuMohandas/mlops-course "mlops-course" -[10a]: https://github.com/eli64s/readme-ai/blob/main/examples/readme-local.md "readme-local.md" + +[mkdocs]: https://eli64s.github.io/readme-ai "Official Documentation" [contributing]: https://github.com/eli64s/readme-ai/blob/main/CONTRIBUTING.md @@ -755,5 +726,27 @@ README-AI is released under the terms of the [MIT License][license]. [discussions]: https://github.com/eli64s/readme-ai/discussions [license]: https://github.com/eli64s/readme-ai/blob/main/LICENSE - -[mkdocs]: https://eli64s.github.io/readme-ai "Official Documentation" + +[default]: https://github.com/eli64s/readme-ai/blob/main/examples/readme-ai.md "readme-python.md" +[ascii-header]: https://github.com/eli64s/readme-ai/blob/main/examples/headers/ascii.md "ascii.md" +[classic-header]: https://github.com/eli64s/readme-ai/blob/main/examples/headers/classic.md "readme-postgres.md" +[compact-header]: https://github.com/eli64s/readme-ai/blob/main/examples/headers/compact.md "readme-java.md" +[modern-header]: https://github.com/eli64s/readme-ai/blob/main/examples/headers/modern.md "readme-pyflink.md" +[svg-banner]: https://github.com/eli64s/readme-ai/blob/main/examples/banners/svg-banner.md "readme-streamlit.md" +[dalle-logo]: https://github.com/eli64s/readme-ai/blob/main/examples/logos/dalle.md "readme-vercel.md" +[readme-kotlin]: https://github.com/eli64s/readme-ai/blob/main/examples/readme-kotlin.md "readme-kotlin.md" +[for-the-badge]: https://github.com/eli64s/readme-ai/blob/main/examples/readme-docker-go.md "readme-docker-go.md" +[fastapi-redis]: https://github.com/eli64s/readme-ai/blob/main/examples/readme-fastapi-redis.md "readme-fastapi-redis.md" +[offline-mode]: https://github.com/eli64s/readme-ai/blob/main/examples/offline-mode/readme-litellm.md "readme-litellm.md" + + +[readme-ai]: https://github.com/eli64s/readme-ai "readme-ai" +[pyflink]: https://github.com/eli64s/pyflink-poc "pyflink-poc" +[postgres]: https://github.com/jwills/buenavista "Buenavista" +[java]: https://github.com/avjinder/Minimal-Todo "minimal-todo" +[kotlin]: https://github.com/rumaan/file.io-Android-Client "android-client" +[docker-golang]: https://github.com/olliefr/docker-gs-ping "docker-gs-ping" +[vercel]: https://github.com/PiyushSuthar/github-readme-quotes "github-readme-quotes" +[streamlit]: https://github.com/eli64s/readme-ai-streamlit "readme-ai-streamlit" +[fastapi]: https://github.com/FerrariDG/async-ml-inference "async-ml-inference" +[litellm]: https://github.com/BerriAI/litellm "offline-mode" diff --git a/docs/docs/assets/img/project-structure/file-summaries.png b/docs/docs/assets/img/project-structure/file-summaries.png index 59061690..62f5fdc0 100644 Binary files a/docs/docs/assets/img/project-structure/file-summaries.png and b/docs/docs/assets/img/project-structure/file-summaries.png differ diff --git a/examples/anthropic/.gitkeep b/examples/anthropic/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/examples/gemini/.gitkeep b/examples/gemini/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/examples/headers/ascii.md b/examples/headers/ascii.md new file mode 100644 index 00000000..4fa9b697 --- /dev/null +++ b/examples/headers/ascii.md @@ -0,0 +1,823 @@ +
+
+โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ   โ–ˆโ–ˆ   โ–ˆโ–ˆโ–ˆโ–ˆ   โ–ˆโ–ˆ   โ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ          โ–ˆโ–ˆ   โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ
+โ–ˆโ–ˆ  โ–ˆโ–ˆ โ–ˆโ–ˆ      โ–ˆโ–ˆโ–ˆโ–ˆ  โ–ˆโ–ˆ  โ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆ             โ–ˆโ–ˆโ–ˆโ–ˆ    โ–ˆโ–ˆ
+โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ   โ–ˆโ–ˆ  โ–ˆโ–ˆ โ–ˆโ–ˆ  โ–ˆโ–ˆ โ–ˆโ–ˆ โ–ˆ โ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ   โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆ  โ–ˆโ–ˆ   โ–ˆโ–ˆ
+โ–ˆโ–ˆ โ–ˆโ–ˆ  โ–ˆโ–ˆ     โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆ  โ–ˆโ–ˆ โ–ˆโ–ˆ   โ–ˆโ–ˆ โ–ˆโ–ˆ            โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ   โ–ˆโ–ˆ
+โ–ˆโ–ˆ  โ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆ  โ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ   โ–ˆโ–ˆ   โ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ        โ–ˆโ–ˆ  โ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ
+
+
+

+ โฏ REPLACE-ME +

+

+ license + last-commit + repo-top-language + repo-language-count +

+

+

+

+ +

+
+ +## ๐Ÿ”— Table of Contents + +- [๐Ÿ“ Overview](#-overview) +- [๐Ÿ‘พ Features](#-features) +- [๐Ÿ“ Project Structure](#-project-structure) + - [๐Ÿ“‚ Project Index](#-project-index) +- [๐Ÿš€ Getting Started](#-getting-started) + - [โ˜‘๏ธ Prerequisites](#-prerequisites) + - [โš™๏ธ Installation](#-installation) + - [๐Ÿค– Usage](#๐Ÿค–-usage) + - [๐Ÿงช Testing](#๐Ÿงช-testing) +- [๐Ÿ“Œ Project Roadmap](#-project-roadmap) +- [๐Ÿ”ฐ Contributing](#-contributing) +- [๐ŸŽ— License](#-license) +- [๐Ÿ™Œ Acknowledgments](#-acknowledgments) + +--- + +## ๐Ÿ“ Overview + +โฏ REPLACE-ME + +--- + +## ๐Ÿ‘พ Features + +โฏ REPLACE-ME + +--- + +## ๐Ÿ“ Project Structure + +```sh +โ””โ”€โ”€ readme-ai/ + โ”œโ”€โ”€ .github + โ”‚ โ”œโ”€โ”€ release-drafter.yml + โ”‚ โ””โ”€โ”€ workflows + โ”œโ”€โ”€ CHANGELOG.md + โ”œโ”€โ”€ CODE_OF_CONDUCT.md + โ”œโ”€โ”€ CONTRIBUTING.md + โ”œโ”€โ”€ Dockerfile + โ”œโ”€โ”€ LICENSE + โ”œโ”€โ”€ Makefile + โ”œโ”€โ”€ README.md + โ”œโ”€โ”€ docs + โ”‚ โ”œโ”€โ”€ .overrides + โ”‚ โ”œโ”€โ”€ assets + โ”‚ โ”œโ”€โ”€ blog + โ”‚ โ”œโ”€โ”€ configuration + โ”‚ โ”œโ”€โ”€ contributing.md + โ”‚ โ”œโ”€โ”€ css + โ”‚ โ”œโ”€โ”€ examples + โ”‚ โ”œโ”€โ”€ faq.md + โ”‚ โ”œโ”€โ”€ guides + โ”‚ โ”œโ”€โ”€ index.md + โ”‚ โ”œโ”€โ”€ js + โ”‚ โ”œโ”€โ”€ llms + โ”‚ โ”œโ”€โ”€ philosophy.md + โ”‚ โ”œโ”€โ”€ quickstart + โ”‚ โ”œโ”€โ”€ troubleshooting.md + โ”‚ โ”œโ”€โ”€ usage + โ”‚ โ””โ”€โ”€ why.md + โ”œโ”€โ”€ examples + โ”‚ โ”œโ”€โ”€ readme-ai.md + โ”‚ โ”œโ”€โ”€ readme-chunking.md + โ”‚ โ”œโ”€โ”€ readme-docker-go.md + โ”‚ โ”œโ”€โ”€ readme-fastapi-redis.md + โ”‚ โ”œโ”€โ”€ readme-gemini.md + โ”‚ โ”œโ”€โ”€ readme-header-padded.md + โ”‚ โ”œโ”€โ”€ readme-java.md + โ”‚ โ”œโ”€โ”€ readme-javascript.md + โ”‚ โ”œโ”€โ”€ readme-kotlin.md + โ”‚ โ”œโ”€โ”€ readme-litellm.md + โ”‚ โ”œโ”€โ”€ readme-local.md + โ”‚ โ”œโ”€โ”€ readme-mlops.md + โ”‚ โ”œโ”€โ”€ readme-offline.md + โ”‚ โ”œโ”€โ”€ readme-ollama.md + โ”‚ โ”œโ”€โ”€ readme-postgres.md + โ”‚ โ”œโ”€โ”€ readme-python-v0.5.87.md + โ”‚ โ”œโ”€โ”€ readme-python.md + โ”‚ โ”œโ”€โ”€ readme-readmeai.md + โ”‚ โ”œโ”€โ”€ readme-rust-c.md + โ”‚ โ”œโ”€โ”€ readme-sqlmesh.md + โ”‚ โ”œโ”€โ”€ readme-streamlit-dalle.md + โ”‚ โ”œโ”€โ”€ readme-streamlit-minimal.md + โ”‚ โ”œโ”€โ”€ readme-streamlit-v0.5.88.md + โ”‚ โ”œโ”€โ”€ readme-streamlit-v0.588.md + โ”‚ โ”œโ”€โ”€ readme-streamlit.md + โ”‚ โ”œโ”€โ”€ readme-typescript.md + โ”‚ โ””โ”€โ”€ readme-vercel.md + โ”œโ”€โ”€ mkdocs.yml + โ”œโ”€โ”€ noxfile.py + โ”œโ”€โ”€ poetry.lock + โ”œโ”€โ”€ pyproject.toml + โ”œโ”€โ”€ readmeai + โ”‚ โ”œโ”€โ”€ __init__.py + โ”‚ โ”œโ”€โ”€ __main__.py + โ”‚ โ”œโ”€โ”€ cli + โ”‚ โ”œโ”€โ”€ config + โ”‚ โ”œโ”€โ”€ errors.py + โ”‚ โ”œโ”€โ”€ generators + โ”‚ โ”œโ”€โ”€ ingestion + โ”‚ โ”œโ”€โ”€ logger.py + โ”‚ โ”œโ”€โ”€ models + โ”‚ โ”œโ”€โ”€ parsers + โ”‚ โ”œโ”€โ”€ postprocessor + โ”‚ โ”œโ”€โ”€ preprocessor + โ”‚ โ”œโ”€โ”€ readers + โ”‚ โ”œโ”€โ”€ templates + โ”‚ โ””โ”€โ”€ utils + โ”œโ”€โ”€ scripts + โ”‚ โ”œโ”€โ”€ clean.sh + โ”‚ โ”œโ”€โ”€ docker.sh + โ”‚ โ”œโ”€โ”€ pypi.sh + โ”‚ โ”œโ”€โ”€ run_batch.sh + โ”‚ โ””โ”€โ”€ run_batch_random.sh + โ”œโ”€โ”€ setup + โ”‚ โ”œโ”€โ”€ environment.yaml + โ”‚ โ”œโ”€โ”€ requirements.txt + โ”‚ โ””โ”€โ”€ setup.sh + โ””โ”€โ”€ tests + โ”œโ”€โ”€ __init__.py + โ”œโ”€โ”€ cli + โ”œโ”€โ”€ config + โ”œโ”€โ”€ conftest.py + โ”œโ”€โ”€ generators + โ”œโ”€โ”€ ingestion + โ”œโ”€โ”€ models + โ”œโ”€โ”€ parsers + โ”œโ”€โ”€ postprocessor + โ”œโ”€โ”€ preprocessor + โ”œโ”€โ”€ readers + โ”œโ”€โ”€ templates + โ”œโ”€โ”€ test_errors.py + โ”œโ”€โ”€ test_logger.py + โ”œโ”€โ”€ test_main.py + โ””โ”€โ”€ utils +``` + + +### ๐Ÿ“‚ Project Index +
+ README-AI/ +
+ __root__ +
+ + + + + + + + + + + + + + + + + + + + + +
mkdocs.ymlโฏ REPLACE-ME
Dockerfileโฏ REPLACE-ME
Makefileโฏ REPLACE-ME
pyproject.tomlโฏ REPLACE-ME
noxfile.pyโฏ REPLACE-ME
+
+
+
+ setup +
+ + + + + + + + + + + + + +
setup.shโฏ REPLACE-ME
requirements.txtโฏ REPLACE-ME
environment.yamlโฏ REPLACE-ME
+
+
+
+ scripts +
+ + + + + + + + + + + + + + + + + + + + + +
run_batch.shโฏ REPLACE-ME
pypi.shโฏ REPLACE-ME
clean.shโฏ REPLACE-ME
run_batch_random.shโฏ REPLACE-ME
docker.shโฏ REPLACE-ME
+
+
+
+ .github +
+ + + + + +
release-drafter.ymlโฏ REPLACE-ME
+
+ workflows +
+ + + + + + + + + + + + + + + + + +
coverage.ymlโฏ REPLACE-ME
mkdocs.ymlโฏ REPLACE-ME
release-pipeline.ymlโฏ REPLACE-ME
release-drafter.ymlโฏ REPLACE-ME
+
+
+
+
+
+ readmeai +
+ + + + + + + + + + + + + +
logger.pyโฏ REPLACE-ME
errors.pyโฏ REPLACE-ME
__main__.pyโฏ REPLACE-ME
+
+ parsers +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
properties.pyโฏ REPLACE-ME
factory.pyโฏ REPLACE-ME
docker.pyโฏ REPLACE-ME
npm.pyโฏ REPLACE-ME
cpp.pyโฏ REPLACE-ME
gradle.pyโฏ REPLACE-ME
swift.pyโฏ REPLACE-ME
python.pyโฏ REPLACE-ME
go.pyโฏ REPLACE-ME
maven.pyโฏ REPLACE-ME
base.pyโฏ REPLACE-ME
rust.pyโฏ REPLACE-ME
+
+
+
+ ingestion +
+ + + + + + + + + + + + + + + + + +
models.pyโฏ REPLACE-ME
file_processor.pyโฏ REPLACE-ME
metadata_extractor.pyโฏ REPLACE-ME
pipeline.pyโฏ REPLACE-ME
+
+
+
+ config +
+ + + + + + + + + +
constants.pyโฏ REPLACE-ME
settings.pyโฏ REPLACE-ME
+
+ settings +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
prompts.tomlโฏ REPLACE-ME
parsers.tomlโฏ REPLACE-ME
quickstart.tomlโฏ REPLACE-ME
quickstart_config.tomlโฏ REPLACE-ME
tooling.tomlโฏ REPLACE-ME
languages.tomlโฏ REPLACE-ME
config.tomlโฏ REPLACE-ME
tool_config.tomlโฏ REPLACE-ME
ignore_list.tomlโฏ REPLACE-ME
commands.tomlโฏ REPLACE-ME
+
+
+
+
+
+ postprocessor +
+ + + + + + + + + +
markdown_converter.pyโฏ REPLACE-ME
response_cleaner.pyโฏ REPLACE-ME
+
+
+
+ utils +
+ + + + + + + + + + + + + +
file_handler.pyโฏ REPLACE-ME
file_resource.pyโฏ REPLACE-ME
helpers.pyโฏ REPLACE-ME
+
+
+
+ models +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
offline.pyโฏ REPLACE-ME
gemini.pyโฏ REPLACE-ME
tokens.pyโฏ REPLACE-ME
dalle.pyโฏ REPLACE-ME
factory.pyโฏ REPLACE-ME
prompts.pyโฏ REPLACE-ME
openai.pyโฏ REPLACE-ME
anthropic.pyโฏ REPLACE-ME
base.pyโฏ REPLACE-ME
+
+
+
+ cli +
+ + + + + + + + + +
options.pyโฏ REPLACE-ME
main.pyโฏ REPLACE-ME
+
+
+
+ templates +
+ + + + + + + + + + + + + + + + + +
table_of_contents.pyโฏ REPLACE-ME
header.pyโฏ REPLACE-ME
base.pyโฏ REPLACE-ME
quickstart.pyโฏ REPLACE-ME
+
+
+
+ generators +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
tree.pyโฏ REPLACE-ME
emojis.pyโฏ REPLACE-ME
builder.pyโฏ REPLACE-ME
badges.pyโฏ REPLACE-ME
tables.pyโฏ REPLACE-ME
banner.pyโฏ REPLACE-ME
quickstart.pyโฏ REPLACE-ME
+
+ svg +
+ + + + + + + + + +
skill_icons.jsonโฏ REPLACE-ME
shieldsio_icons.jsonโฏ REPLACE-ME
+
+
+
+
+
+ readers +
+
+ git +
+ + + + + + + + + + + + + +
metadata.pyโฏ REPLACE-ME
providers.pyโฏ REPLACE-ME
repository.pyโฏ REPLACE-ME
+
+
+
+
+
+ preprocessor +
+ + + + + + + + + + + + + +
file_filter.pyโฏ REPLACE-ME
directory_cleaner.pyโฏ REPLACE-ME
document_cleaner.pyโฏ REPLACE-ME
+
+
+
+
+
+ +--- +## ๐Ÿš€ Getting Started + +### โ˜‘๏ธ Prerequisites + +Before getting started with readme-ai, ensure your runtime environment meets the following requirements: + +- **Programming Language:** Python +- **Package Manager:** Poetry, Pip, Conda +- **Container Runtime:** Docker + + +### โš™๏ธ Installation + +Install readme-ai using one of the following methods: + +**Build from source:** + +1. Clone the readme-ai repository: +```sh +โฏ git clone https://github.com/eli64s/readme-ai +``` + +2. Navigate to the project directory: +```sh +โฏ cd readme-ai +``` + +3. Install the project dependencies: + + +**Using `poetry`**   [](https://python-poetry.org/) + +```sh +โฏ poetry install +``` + + +**Using `pip`**   [](https://pypi.org/project/pip/) + +```sh +โฏ pip install -r setup/requirements.txt +``` + + +**Using `conda`**   [](https://docs.conda.io/) + +```sh +โฏ conda env create -f setup/environment.yaml +``` + + +**Using `docker`**   [](https://www.docker.com/) + +```sh +โฏ docker build -t eli64s/readme-ai . +``` + + + + +### ๐Ÿค– Usage +Run readme-ai using the following command: +**Using `poetry`**   [](https://python-poetry.org/) + +```sh +โฏ poetry run python {entrypoint} +``` + + +**Using `pip`**   [](https://pypi.org/project/pip/) + +```sh +โฏ python {entrypoint} +``` + + +**Using `conda`**   [](https://docs.conda.io/) + +```sh +โฏ conda activate {venv} +โฏ python {entrypoint} +``` + + +**Using `docker`**   [](https://www.docker.com/) + +```sh +โฏ docker run -it {image_name} +``` + + +### ๐Ÿงช Testing +Run the test suite using the following command: +**Using `poetry`**   [](https://python-poetry.org/) + +```sh +โฏ poetry run pytest +``` + + +**Using `pip`**   [](https://pypi.org/project/pip/) + +```sh +โฏ pytest +``` + + +**Using `conda`**   [](https://docs.conda.io/) + +```sh +โฏ conda activate {venv} +โฏ pytest +``` + + +--- +## ๐Ÿ“Œ Project Roadmap + +- [X] **`Task 1`**: Implement feature one. +- [ ] **`Task 2`**: Implement feature two. +- [ ] **`Task 3`**: Implement feature three. + +--- + +## ๐Ÿ”ฐ Contributing + +- **๐Ÿ’ฌ [Join the Discussions](https://github.com/eli64s/readme-ai/discussions)**: Share your insights, provide feedback, or ask questions. +- **๐Ÿ› [Report Issues](https://github.com/eli64s/readme-ai/issues)**: Submit bugs found or log feature requests for the `readme-ai` project. +- **๐Ÿ’ก [Submit Pull Requests](https://github.com/eli64s/readme-ai/blob/main/CONTRIBUTING.md)**: Review open PRs, and submit your own PRs. + +
+Contributing Guidelines + +1. **Fork the Repository**: Start by forking the project repository to your github account. +2. **Clone Locally**: Clone the forked repository to your local machine using a git client. + ```sh + git clone https://github.com/eli64s/readme-ai + ``` +3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name. + ```sh + git checkout -b new-feature-x + ``` +4. **Make Your Changes**: Develop and test your changes locally. +5. **Commit Your Changes**: Commit with a clear message describing your updates. + ```sh + git commit -m 'Implemented new feature x.' + ``` +6. **Push to github**: Push the changes to your forked repository. + ```sh + git push origin new-feature-x + ``` +7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and their motivations. +8. **Review**: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution! +
+ +
+Contributor Graph +
+

+ + + +

+
+ +--- + +## ๐ŸŽ— License + +This project is protected under the [SELECT-A-LICENSE](https://choosealicense.com/licenses) License. For more details, refer to the [LICENSE](https://choosealicense.com/licenses/) file. + +--- + +## ๐Ÿ™Œ Acknowledgments + +- List any resources, contributors, inspiration, etc. here. + +--- diff --git a/examples/headers/classic.md b/examples/headers/classic.md new file mode 100644 index 00000000..1c7f1e10 --- /dev/null +++ b/examples/headers/classic.md @@ -0,0 +1,377 @@ +

+ +

+

BUENAVISTA

+

+ Elevating data processing and API excellence. +

+

+ license + last-commit + repo-top-language + repo-language-count +

+

Built with the tools and technologies:

+

+ DuckDB + GNU%20Bash + FastAPI + Pytest + Docker +
+ Python + GitHub%20Actions + PostgreSQL + Pydantic +

+
+ +## Table of Contents + +- [ Overview](#-overview) +- [ Features](#-features) +- [ Project Structure](#-project-structure) + - [ Project Index](#-project-index) +- [ Getting Started](#-getting-started) + - [ Prerequisites](#-prerequisites) + - [ Installation](#-installation) + - [ Usage](#-usage) + - [ Testing](#-testing) +- [ Project Roadmap](#-project-roadmap) +- [ Contributing](#-contributing) +- [ License](#-license) +- [ Acknowledgments](#-acknowledgments) + +--- + +## Overview + +BuenaVista is a versatile open-source project that streamlines fast data processing and API development. With enhanced SQL dialects for DuckDB, Postgres, and Trino, it enables seamless integration and efficient query handling. Targeting developers seeking efficient data querying and web service creation, BuenaVista offers a robust solution for building scalable data-driven applications. + +--- + +## Features + +| | Feature | Summary | +| :--- | :---: | :--- | +| โš™๏ธ | **Architecture** | | +| ๐Ÿ”ฉ | **Code Quality** | | +| ๐Ÿ“„ | **Documentation** | | +| ๐Ÿ”Œ | **Integrations** | | +| ๐Ÿงฉ | **Modularity** | | +| ๐Ÿงช | **Testing** | | +| โšก๏ธ | **Performance** | | +| ๐Ÿ›ก๏ธ | **Security** | | + +--- + +## Project Structure + +```sh +โ””โ”€โ”€ buenavista/ + โ”œโ”€โ”€ .github + โ”‚ โ””โ”€โ”€ workflows + โ”œโ”€โ”€ LICENSE + โ”œโ”€โ”€ README.md + โ”œโ”€โ”€ buenavista + โ”‚ โ”œโ”€โ”€ __init__.py + โ”‚ โ”œโ”€โ”€ backends + โ”‚ โ”œโ”€โ”€ bv_dialects.py + โ”‚ โ”œโ”€โ”€ core.py + โ”‚ โ”œโ”€โ”€ examples + โ”‚ โ”œโ”€โ”€ http + โ”‚ โ”œโ”€โ”€ postgres.py + โ”‚ โ””โ”€โ”€ rewrite.py + โ”œโ”€โ”€ dev-requirements.txt + โ”œโ”€โ”€ docker + โ”‚ โ”œโ”€โ”€ Dockerfile + โ”‚ โ”œโ”€โ”€ Makefile + โ”‚ โ”œโ”€โ”€ README.md + โ”‚ โ”œโ”€โ”€ connection.png + โ”‚ โ”œโ”€โ”€ docker-compose.yml + โ”‚ โ””โ”€โ”€ download_data.sh + โ”œโ”€โ”€ setup.py + โ””โ”€โ”€ tests + โ”œโ”€โ”€ functional + โ””โ”€โ”€ unit +``` + + +### Project Index +
+ BUENAVISTA/ +
+ __root__ +
+ + + + + + + + + +
dev-requirements.txt- Enables fast data processing and API development by specifying necessary dependencies
- It facilitates seamless integration of DuckDB, FastAPI, psycopg, psycopg-pool, and others for efficient data querying and web service creation within the project architecture.
setup.py- Define and configure project metadata for Buenavista, including package name, version, description, authorship details, and dependencies
- This setup file enables seamless integration and distribution of the project, ensuring correct attribution, documentation, and installation of required components.
+
+
+
+ docker +
+ + + + + + + + + + + + + + + + + +
download_data.shDownload example data (iris.parquet and chinook.db) to the ./data directory using curl commands.
Dockerfile- Facilitates building and running Python applications within a Docker container
- Sets up necessary environment variables, installs dependencies, configures time zone, and specifies entry point for the application
- This file aids in creating a consistent and reproducible environment for deploying the project.
Makefile- The Makefile in the docker directory facilitates building the Docker image for the project and orchestrating Docker containers
- It streamlines tasks like building the image, starting containers, and downloading example data
- This file plays a crucial role in managing the project's Docker-related operations.
docker-compose.ymlDefine Docker services for cloud-based development environment with CloudBeaver and Buenavista, ensuring seamless integration and accessibility.
+
+
+
+ buenavista +
+ + + + + + + + + + + + + + + + + +
bv_dialects.py- Enhances SQL dialects for DuckDB, Postgres, and Trino, enabling custom functions, token handling, and command transformations
- Modifies Trino with keywords and functions, extends Postgres, and tailors DuckDB command handling
- Improves DuckDB's generator with custom transforms for expressions like CurrentTimestamp and ToISO8601, ensuring accurate SQL generation.
core.py- Defines core classes for representing query results, managing sessions, and translating data sources
- Implements methods for executing SQL queries, handling sessions, and checking JSON validity
- Facilitates interaction between data sources and query results within the project architecture.
postgres.py- The code file buenavista/postgres.py provides functionality for handling server responses in the PG wire protocol
- It includes byte codes for various responses such as authentication requests, data rows, error responses, and more
- This code file plays a crucial role in managing communication between the project and a PostgreSQL database server, ensuring smooth interaction and data exchange.
rewrite.py- Enables SQL query rewriting based on defined relations
- Parses and transforms SQL expressions using specified dialects for reading and writing
- Supports custom relation definitions for subquery generation
- Allows for seamless integration with Presto and DuckDB dialects.
+
+ backends +
+ + + + + + + + + +
postgres.py- Facilitates PostgreSQL interactions, defining QueryResult and Session classes for managing data retrieval and connections
- Implements functions for executing SQL queries, loading data into DataFrames, and handling transactions within the database
- The PGConnection class manages connection pooling and session creation, ensuring efficient communication with the PostgreSQL server.
duckdb.py- The code file in buenavista/backends/duckdb.py handles DuckDB data types, query results, and session management for the project's DuckDB connection
- It converts Arrow data types to Buenavista types, processes query results, and manages SQL execution within a transactional context.
+
+
+
+ http +
+ + + + + + + + + + + + + + + + + +
type_mapping.py- Defines type mappings and converters for different data types in the Buenavista project, facilitating the conversion of types to Trino-compatible formats
- The code file `type_mapping.py` contains functions to handle various data types and their representations in the project, ensuring seamless data type conversion within the codebase architecture.
context.py- Facilitates request handling, session management, and SQL execution within the project context
- Manages headers, session pools, and transaction IDs for efficient interaction with external data sources
- Enables execution of SQL queries and handles transaction lifecycle while maintaining session integrity.
schemas.py- Defines data models for handling HTTP responses in a camel-case format, enhancing readability and consistency across the codebase
- This schema file organizes structures for client types, columns, statement statistics, query errors, warnings, and result handling for efficient data processing and error management in the project architecture.
main.py- Implements HTTP endpoints to execute SQL queries, returning results in Buenavista's backend system
- Handles query execution, result conversion, and error handling
- Enables clients to interact with the system through a RESTful API, providing information on the system's status and executing SQL statements.
+
+
+
+ examples +
+ + + + + + + + + + + + + +
duckdb_postgres.py- Rewrite SQL queries for PostgreSQL compatibility using DuckDB, enabling seamless integration with BuenaVista servers
- This code file creates a server instance with rewriter support, allowing users to interact with DuckDB databases via the BuenaVista platform effortlessly.
duckdb_http.py- Enables rewriting and serving HTTP queries using FastAPI, DuckDB, and Buenavista's custom dialects
- Handles requests for JDBC metadata like tables, schemas, and columns
- Supports running DuckDB in-memory or from a file
- Integrates with Buenavista's Presto API for query processing.
postgres_proxy.py- The code file establishes a proxy server to handle PostgreSQL connections
- It configures a BuenaVista server to listen on a specific address and port, forwarding requests to a PostgreSQL database
- The file plays a critical role in the project's architecture by enabling communication between clients and the database through a proxy mechanism.
+
+
+
+
+
+ .github +
+
+ workflows +
+ + + + + + + + + +
push.yamlAutomate the Docker image build and push process to ghcr.io based on branch updates.
main.yml- Automates unit testing for Buena Vista app on GitHub
- Runs tests on PRs to main branch using multiple Python versions
- Installs dependencies, sets up Python environment, and executes tests with pytest.
+
+
+
+
+
+ +--- +## Getting Started + +### Prerequisites + +Before getting started with buenavista, ensure your runtime environment meets the following requirements: + +- **Programming Language:** Python +- **Package Manager:** Pip +- **Container Runtime:** Docker + + +### Installation + +Install buenavista using one of the following methods: + +**Build from source:** + +1. Clone the buenavista repository: +```sh +โฏ git clone https://github.com/jwills/buenavista +``` + +2. Navigate to the project directory: +```sh +โฏ cd buenavista +``` + +3. Install the project dependencies: + + +**Using `pip`**   [](https://pypi.org/project/pip/) + +```sh +โฏ pip install -r dev-requirements.txt +``` + + +**Using `docker`**   [](https://www.docker.com/) + +```sh +โฏ docker build -t jwills/buenavista . +``` + + + + +### Usage +Run buenavista using the following command: +**Using `pip`**   [](https://pypi.org/project/pip/) + +```sh +โฏ python {entrypoint} +``` + + +**Using `docker`**   [](https://www.docker.com/) + +```sh +โฏ docker run -it {image_name} +``` + + +### Testing +Run the test suite using the following command: +**Using `pip`**   [](https://pypi.org/project/pip/) + +```sh +โฏ pytest +``` + + +--- +## Project Roadmap + +- [X] **`Task 1`**: Implement feature one. +- [ ] **`Task 2`**: Implement feature two. +- [ ] **`Task 3`**: Implement feature three. + +--- + +## Contributing + +- **๐Ÿ’ฌ [Join the Discussions](https://github.com/jwills/buenavista/discussions)**: Share your insights, provide feedback, or ask questions. +- **๐Ÿ› [Report Issues](https://github.com/jwills/buenavista/issues)**: Submit bugs found or log feature requests for the `buenavista` project. +- **๐Ÿ’ก [Submit Pull Requests](https://github.com/jwills/buenavista/blob/main/CONTRIBUTING.md)**: Review open PRs, and submit your own PRs. + +
+Contributing Guidelines + +1. **Fork the Repository**: Start by forking the project repository to your github account. +2. **Clone Locally**: Clone the forked repository to your local machine using a git client. + ```sh + git clone https://github.com/jwills/buenavista + ``` +3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name. + ```sh + git checkout -b new-feature-x + ``` +4. **Make Your Changes**: Develop and test your changes locally. +5. **Commit Your Changes**: Commit with a clear message describing your updates. + ```sh + git commit -m 'Implemented new feature x.' + ``` +6. **Push to github**: Push the changes to your forked repository. + ```sh + git push origin new-feature-x + ``` +7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and their motivations. +8. **Review**: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution! +
+ +
+Contributor Graph +
+

+ + + +

+
+ +--- + +## License + +This project is protected under the [SELECT-A-LICENSE](https://choosealicense.com/licenses) License. For more details, refer to the [LICENSE](https://choosealicense.com/licenses/) file. + +--- + +## Acknowledgments + +- List any resources, contributors, inspiration, etc. here. + +--- diff --git a/examples/headers/compact.md b/examples/headers/compact.md new file mode 100644 index 00000000..644bd98e --- /dev/null +++ b/examples/headers/compact.md @@ -0,0 +1,479 @@ +
+ +
+

MINIMAL-TODO

+

+ Streamline Tasks, Empower Productivity! +

+

+ license + last-commit + repo-top-language + repo-language-count +

+

Built with the tools and technologies:

+

+ Android + Gradle + Google + java +

+
+
+
+ +
Table of Contents + +- [๐Ÿ“ Overview](#-overview) +- [๐Ÿ‘พ Features](#-features) +- [๐Ÿ“ Project Structure](#-project-structure) + - [๐Ÿ“‚ Project Index](#-project-index) +- [๐Ÿš€ Getting Started](#-getting-started) + - [โ˜‘๏ธ Prerequisites](#-prerequisites) + - [โš™๏ธ Installation](#-installation) + - [๐Ÿค– Usage](#๐Ÿค–-usage) + - [๐Ÿงช Testing](#๐Ÿงช-testing) +- [๐Ÿ“Œ Project Roadmap](#-project-roadmap) +- [๐Ÿ”ฐ Contributing](#-contributing) +- [๐ŸŽ— License](#-license) +- [๐Ÿ™Œ Acknowledgments](#-acknowledgments) + +
+
+ +## ๐Ÿ“ Overview + +Minimal-Todo is a streamlined task management app simplifying daily organization. Its clean interface and intuitive features, like reminders and color-coding, enhance productivity. Ideal for busy professionals seeking efficient task tracking. Centralize your to-dos with ease for a clutter-free schedule. + +--- + +## ๐Ÿ‘พ Features + +| | Feature | Summary | +| :--- | :---: | :--- | +| โš™๏ธ | **Architecture** | | +| ๐Ÿ”ฉ | **Code Quality** | | +| ๐Ÿ“„ | **Documentation** | | +| ๐Ÿ”Œ | **Integrations** | | +| ๐Ÿงฉ | **Modularity** | | +| ๐Ÿงช | **Testing** | | + +--- + +## ๐Ÿ“ Project Structure + +```sh +โ””โ”€โ”€ Minimal-Todo/ + โ”œโ”€โ”€ Contributing.md + โ”œโ”€โ”€ LICENSE.md + โ”œโ”€โ”€ README.md + โ”œโ”€โ”€ app + โ”œโ”€โ”€ build.gradle + โ”œโ”€โ”€ gradle + โ”œโ”€โ”€ gradle.properties + โ”œโ”€โ”€ gradlew + โ”œโ”€โ”€ gradlew.bat + โ”œโ”€โ”€ screenshots + โ””โ”€โ”€ settings.gradle +``` + + +### ๐Ÿ“‚ Project Index +
+ MINIMAL-TODO/ +
+ __root__ +
+ + + + + + + + + + + + + +
build.gradle- Configure common build options and dependencies across all modules in the project, including repositories like jcenter and Google, using the build.gradle file
- This file manages top-level configurations for sub-projects/modules such as Android tools, Google services, and Butter Knife plugin, ensuring consistent settings for the entire codebase architecture.
gradlew.batInitialize Gradle setup on Windows by locating Java and setting necessary environment variables for the project to run smoothly.
settings.gradle- Defines project modules for Gradle build system, specifically including the 'app' module
- Organizes project structure by specifying which modules are part of the build
- Helps Gradle manage dependencies and build configurations for different modules within the project.
+
+
+
+ app +
+ + + + + + + + + + + + + + + + + +
proguard-rules.pro- Define and maintain project-specific ProGuard rules to optimize and secure the Android app's code
- Refine the default ProGuard flags with tailored settings for Google libraries and avoid warnings for specific classes
- Ensure that the app's code remains efficient and protected during the build process.
build.gradle- Configure Android application settings, dependencies, and build types to support the project's functionality and integrate necessary plugins for smooth operation.
google-services.json- Define Google services configuration for Android apps in the provided JSON file
- The file specifies project info, clients, and associated services such as analytics and cloud messaging
- It serves as a crucial configuration file for integrating Google services into the Android app architecture.
app-release.apk- Summary: +The provided code file serves as a critical component within the project's architecture, facilitating seamless communication and integration between various modules
- It plays a pivotal role in orchestrating data flow and enhancing the overall functionality of the codebase.
+
+ src +
+
+ androidTest +
+
+ java +
+
+ com +
+
+ example +
+
+ avjindersinghsekhon +
+
+ minimaltodo +
+ + + + + + + + + + + + + +
TestStoreRetrieveData.java- Verifies and ensures data integrity by writing and reading items to/from storage in the app
- It confirms the correct storage and retrieval of data items, validates JSONArray conversion, and guarantees the accuracy of data in storage
- The code is vital for maintaining the reliability of data operations within the app's functionality.
ApplicationTest.java- Tests the Android application's fundamental functionality by extending the ApplicationTestCase class
- This class helps validate the core behavior of the application, ensuring proper functionality before deployment.
TestTodoItem.javaVerifies and tests functionality of ToDoItem class, ensuring construction and marshalling of objects to JSON, as well as unmarshalling from JSON data.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ main +
+
+ java +
+
+ com +
+
+ example +
+
+ avjindersinghsekhon +
+
+ minimaltodo +
+
+ Settings +
+ + + + + + + + + +
SettingsFragment.java- Manages user settings and preferences, including a night mode feature, for the mobile app
- Captures user selection changes and triggers interface updates accordingly
- Enables customization of app themes and analytics tracking for user behavior insights
- Centralizes and organizes user preferences for a seamless user experience.
SettingsActivity.java- Implements the SettingsActivity class in the app structure
- Manages settings presentation and navigation, including theme configuration and back navigation actions, providing a seamless user experience within the application's settings section.
+
+
+
+ Reminder +
+ + + + + + + + + +
ReminderFragment.java- Implements a ReminderFragment in the app to handle reminders for to-do items
- Allows users to view and manage reminders, including snoozing and marking tasks as done
- Handles theme preferences, data storage, and notification services
- Includes functionalities for modifying reminder timings and updating to-do items.
ReminderActivity.javaGenerates the reminder UI layout and initializes the initial fragment for the Minimal Todo app.
+
+
+
+ About +
+ + + + + + + + + +
AboutActivity.java- Handle the creation and display of the About section in the Minimal Todo app, including version information and contact details
- This code ensures proper theming, toolbar setup, and navigation functionalities for a cohesive user experience within the app's architecture.
AboutFragment.java- Manages display of app information, version, and feedback contact in the About section of the project
- Utilizes the AppDefaultFragment superclass to ensure consistent UI across the app
- Interacts with the AnalyticsApplication to track user actions for analytics purposes.
+
+
+
+ AddToDo +
+ + + + + + + + + +
AddToDoFragment.java- The provided code file `AddToDoFragment.java` in the `AddToDo` package is responsible for managing the user interface related to adding a new to-do item in the MinimalToDo project
- It handles user input, interactions, and transitions within the add to-do functionality
- This fragment is crucial for enabling users to efficiently create and manage their tasks within the application.
AddToDoActivity.java- Enables adding to-dos via a user-friendly interface
- Extends the base activity to set up the layout and initial fragment
- Implementations for onCreate, contentViewLayoutRes, createInitialFragment, and onResume maintain the seamless flow for users.
+
+
+
+ Main +
+ + + + + + + + + + + + + +
MainActivity.java- Defines the main screen behavior of the app, handling toolbar setup, menu creation, and item selection actions
- It navigates to other activities like About and Settings when corresponding menu items are selected.
CustomRecyclerScrollViewListener.java- Implements a scroll listener for RecyclerView to toggle visibility of elements based on scroll direction
- Integrates show and hide actions to manage view visibility dynamically during scrolling.
MainFragment.java- The MainFragment.java file in the project serves as a central component responsible for managing the user interface elements and interactions within the application
- It coordinates the display of tasks, animations, and user feedback mechanisms, ensuring a seamless user experience
- This file encapsulates the key functionalities of the main screen of the app, facilitating efficient task management and user engagement.
+
+
+
+ Analytics +
+ + + + + +
AnalyticsApplication.java- Facilitates sending analytics data to Google Analytics by tracking screen views and events in the Android application
- Manages the creation and configuration of a Google Analytics tracker, ensuring proper reporting of user interactions and app usage for data-driven insights.
+
+
+
+ AppDefault +
+ + + + + + + + + +
AppDefaultFragment.javaGenerates default fragments in the project architecture to maintain a consistent layout across different screens.
AppDefaultActivity.java- Defines a template for activities in the app, setting up the initial fragment and content view layout
- The abstract class specifies methods to define layout and create the first fragment, binding the core structure of app screens to maintain consistency across activities.
+
+
+
+ Utility +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TodoNotificationService.java- Manages creation and display of notifications for to-do items, including handling user interactions
- Uses Android's NotificationManager to show notifications with title and icon
- Enables users to interact with notifications for reminders and deletion
- Key components include IntentService and Notification.Builder for seamless notification handling within the app's architecture.
ScrollingFABBehaviour.java- Enables floating action button behavior based on scrolling events in the app's UI, ensuring its position corresponds to toolbar movements
- Decides the floating button view adjustment by detecting interactions with various UI components like Snackbar and Toolbar.
ToDoItem.java- Defines a data model for to-do items with text, description, reminder, color, date, and identifier properties
- Supports conversion to/from JSON format
- Allows setting and getting text, description, reminder status, color, date, and identifier.
CustomTextInputLayout.java- Enhances TextInputLayout behavior to preserve hint value when EditText is added
- Resets hint if changed programmatically for consistent display
- Improves user experience by maintaining hint visibility, avoiding loss of information.
StoreRetrieveData.java- Manages storage and retrieval of ToDoItems using JSON serialization for the MinimalToDo app
- Handles saving items to a file and loading them back into the app, supporting basic file I/O operations and JSON parsing with error handling.
Utils.javaCalculates toolbar height for the Android app's UI based on specified action bar size attribute in the project's utility class.
DeleteNotificationService.java- Handles deleting notification-triggered to-do items by retrieving, updating, and saving data in shared preferences
- Manages a list of to-do items, identifies the item to delete, and saves the updated list
- Maintains a notification service for to-do items in the Minimal ToDo app, ensuring data integrity and accurate deletion operations.
ItemTouchHelperClass.java- Enables drag-and-drop and swipe functionalities for RecyclerView items, facilitating reordering and deletion
- This class acts as a mediator, allowing seamless interaction between user actions and the RecyclerView adapter, enhancing the user experience within the to-do list app.
PreferenceKeys.javaDefines preference keys for the project settings, facilitating easy access to the night mode preference key stored in resources.
RecyclerViewEmptySupport.java- Enables a RecyclerView to display an empty view when no items are present
- Automatically shows or hides the empty view based on the adapter's item count
- Integrated with observer methods to handle changes in data set
- Enhances user experience by providing visual feedback in empty states, contributing to a more informative UI.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +--- +## ๐Ÿš€ Getting Started + +### โ˜‘๏ธ Prerequisites + +Before getting started with Minimal-Todo, ensure your runtime environment meets the following requirements: + +- **Programming Language:** Java +- **Package Manager:** Gradle + + +### โš™๏ธ Installation + +Install Minimal-Todo using one of the following methods: + +**Build from source:** + +1. Clone the Minimal-Todo repository: +```sh +โฏ git clone https://github.com/avjinder/Minimal-Todo +``` + +2. Navigate to the project directory: +```sh +โฏ cd Minimal-Todo +``` + +3. Install the project dependencies: + + +**Using `gradle`**   [](https://gradle.org/) + +```sh +โฏ gradle build +``` + + + + +### ๐Ÿค– Usage +Run Minimal-Todo using the following command: +**Using `gradle`**   [](https://gradle.org/) + +```sh +โฏ gradle run +``` + + +### ๐Ÿงช Testing +Run the test suite using the following command: +**Using `gradle`**   [](https://gradle.org/) + +```sh +โฏ gradle test +``` + + +--- +## ๐Ÿ“Œ Project Roadmap + +- [X] **`Task 1`**: Implement feature one. +- [ ] **`Task 2`**: Implement feature two. +- [ ] **`Task 3`**: Implement feature three. + +--- + +## ๐Ÿ”ฐ Contributing + +- **๐Ÿ’ฌ [Join the Discussions](https://github.com/avjinder/Minimal-Todo/discussions)**: Share your insights, provide feedback, or ask questions. +- **๐Ÿ› [Report Issues](https://github.com/avjinder/Minimal-Todo/issues)**: Submit bugs found or log feature requests for the `Minimal-Todo` project. +- **๐Ÿ’ก [Submit Pull Requests](https://github.com/avjinder/Minimal-Todo/blob/main/CONTRIBUTING.md)**: Review open PRs, and submit your own PRs. + +
+Contributing Guidelines + +1. **Fork the Repository**: Start by forking the project repository to your github account. +2. **Clone Locally**: Clone the forked repository to your local machine using a git client. + ```sh + git clone https://github.com/avjinder/Minimal-Todo + ``` +3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name. + ```sh + git checkout -b new-feature-x + ``` +4. **Make Your Changes**: Develop and test your changes locally. +5. **Commit Your Changes**: Commit with a clear message describing your updates. + ```sh + git commit -m 'Implemented new feature x.' + ``` +6. **Push to github**: Push the changes to your forked repository. + ```sh + git push origin new-feature-x + ``` +7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and their motivations. +8. **Review**: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution! +
+ +
+Contributor Graph +
+

+ + + +

+
+ +--- + +## ๐ŸŽ— License + +This project is protected under the [SELECT-A-LICENSE](https://choosealicense.com/licenses) License. For more details, refer to the [LICENSE](https://choosealicense.com/licenses/) file. + +--- + +## ๐Ÿ™Œ Acknowledgments + +- List any resources, contributors, inspiration, etc. here. + +--- diff --git a/examples/headers/modern.md b/examples/headers/modern.md new file mode 100644 index 00000000..ddb59527 --- /dev/null +++ b/examples/headers/modern.md @@ -0,0 +1,289 @@ +
+ +

PYFLINK-POC

+

+ Streamlining data flow with PyFlink power! +

+

+ license + last-commit + repo-top-language + repo-language-count +

+

Built with the tools and technologies:

+

+ GNU%20Bash + Python + AIOHTTP + pandas + Apache%20Kafka + Apache%20Flink +

+
+
+ +
Table of Contents + +- [๐Ÿ“ Overview](#-overview) +- [๐Ÿ‘พ Features](#-features) +- [๐Ÿ“ Project Structure](#-project-structure) + - [๐Ÿ“‚ Project Index](#-project-index) +- [๐Ÿš€ Getting Started](#-getting-started) + - [โ˜‘๏ธ Prerequisites](#-prerequisites) + - [โš™๏ธ Installation](#-installation) + - [๐Ÿค– Usage](#๐Ÿค–-usage) + - [๐Ÿงช Testing](#๐Ÿงช-testing) +- [๐Ÿ“Œ Project Roadmap](#-project-roadmap) +- [๐Ÿ”ฐ Contributing](#-contributing) +- [๐ŸŽ— License](#-license) +- [๐Ÿ™Œ Acknowledgments](#-acknowledgments) + +
+
+ +## ๐Ÿ“ Overview + +Pyflink-poc enables real-time data streaming and processing, seamlessly integrating Apache Flink and Apache Kafka. It empowers users to handle data efficiently with Pandas and asyncio, emphasizing scalability and performance. Ideal for developers seeking lightweight, responsive architectures for large dataset management and concurrent operations in their projects. + +--- + +## ๐Ÿ‘พ Features + +| | Feature | Summary | +| :--- | :---: | :--- | +| โš™๏ธ | **Architecture** | | +| ๐Ÿ”ฉ | **Code Quality** | | +| ๐Ÿ“„ | **Documentation** | | +| ๐Ÿ”Œ | **Integrations** | | +| ๐Ÿงฉ | **Modularity** | | +| ๐Ÿงช | **Testing** | | +| โšก๏ธ | **Performance** | | +| ๐Ÿ›ก๏ธ | **Security** | | +| ๐Ÿ“ฆ | **Dependencies** | | + +--- + +## ๐Ÿ“ Project Structure + +```sh +โ””โ”€โ”€ pyflink-poc/ + โ”œโ”€โ”€ README.md + โ”œโ”€โ”€ conf + โ”‚ โ”œโ”€โ”€ conf.toml + โ”‚ โ””โ”€โ”€ flink-config.yaml + โ”œโ”€โ”€ data + โ”‚ โ””โ”€โ”€ data.csv + โ”œโ”€โ”€ requirements.txt + โ”œโ”€โ”€ scripts + โ”‚ โ”œโ”€โ”€ clean.sh + โ”‚ โ””โ”€โ”€ run.sh + โ”œโ”€โ”€ setup + โ”‚ โ””โ”€โ”€ setup.sh + โ”œโ”€โ”€ setup.py + โ””โ”€โ”€ src + โ”œโ”€โ”€ alerts_handler.py + โ”œโ”€โ”€ consumer.py + โ””โ”€โ”€ logger.py +``` + + +### ๐Ÿ“‚ Project Index +
+ PYFLINK-POC/ +
+ __root__ +
+ + + + + + + + + +
requirements.txt- Enables real-time data streaming and processing by integrating Apache Flink and Apache Kafka with asynchronous HTTP requests
- Facilitates efficient data handling and manipulation using Pandas library while leveraging asyncio for concurrent operations
- The codebase emphasizes scalability and performance in handling large datasets through its lightweight and responsive architecture.
setup.py- Configures project dependencies and packages for STREAM-ON through setup.py
- Sets up various packages for documentation, style checking, and testing, enhancing the overall project structure and management.
+
+
+
+ setup +
+ + + + + +
setup.sh- Facilitates setup and configuration of project dependencies and environment variables
- Installs Java 11, Python 3.7, and PyFlink, sets environment variables, and creates aliases for zsh
- Enables seamless integration and execution of PyFlink within the development environment.
+
+
+
+ scripts +
+ + + + + + + + + +
run.shInitiate Flink cluster, execute PyFlink job, and terminate Flink cluster using the provided run.sh script.
clean.sh- Clean script file removes backup files, Python caches, build artifacts, Jupyter notebook checkpoints, and pytest cache from the project directory
- It ensures the project remains clutter-free by deleting unnecessary files and directories to streamline development and maintenance processes.
+
+
+
+ conf +
+ + + + + + + + + +
flink-config.yamlDefine Flink cluster configuration parameters in the provided YAML file to ensure optimal resource allocation, fault tolerance, and scalability for distributed data processing.
conf.tomlDefine project-wide configuration constants for Kafka and Flink services in the conf.toml file.
+
+
+
+ src +
+ + + + + + + + + + + + + +
alerts_handler.py- Handles the sending of alerts to an API in batches using asyncio and aiohttp
- The code serializes alerts using Apache Avro before sending them to the designated API endpoint
- Additionally, it includes functionality to buffer alerts and send them in batches when a certain threshold is reached.
logger.py- The Logger class provides structured logging capabilities for the project, enabling different log levels and colored output
- It enhances the codebase architecture by ensuring effective logging of critical information, warnings, and errors, thereby facilitating debugging and monitoring activities across the system.
consumer.py- Implements data stream processing with Apache Flink and Python, orchestrating streaming and batch data comparisons for anomaly detection
- Manages state and fault tolerance through checkpointing and processes flagged records to trigger alerts, enhancing the real-time monitoring system.
+
+
+
+ +--- +## ๐Ÿš€ Getting Started + +### โ˜‘๏ธ Prerequisites + +Before getting started with pyflink-poc, ensure your runtime environment meets the following requirements: + +- **Programming Language:** Python +- **Package Manager:** Pip + + +### โš™๏ธ Installation + +Install pyflink-poc using one of the following methods: + +**Build from source:** + +1. Clone the pyflink-poc repository: +```sh +โฏ git clone https://github.com/eli64s/pyflink-poc +``` + +2. Navigate to the project directory: +```sh +โฏ cd pyflink-poc +``` + +3. Install the project dependencies: + + +**Using `pip`**   [](https://pypi.org/project/pip/) + +```sh +โฏ pip install -r requirements.txt +``` + + + + +### ๐Ÿค– Usage +Run pyflink-poc using the following command: +**Using `pip`**   [](https://pypi.org/project/pip/) + +```sh +โฏ python {entrypoint} +``` + + +### ๐Ÿงช Testing +Run the test suite using the following command: +**Using `pip`**   [](https://pypi.org/project/pip/) + +```sh +โฏ pytest +``` + + +--- +## ๐Ÿ“Œ Project Roadmap + +- [X] **`Task 1`**: Implement feature one. +- [ ] **`Task 2`**: Implement feature two. +- [ ] **`Task 3`**: Implement feature three. + +--- + +## ๐Ÿ”ฐ Contributing + +- **๐Ÿ’ฌ [Join the Discussions](https://github.com/eli64s/pyflink-poc/discussions)**: Share your insights, provide feedback, or ask questions. +- **๐Ÿ› [Report Issues](https://github.com/eli64s/pyflink-poc/issues)**: Submit bugs found or log feature requests for the `pyflink-poc` project. +- **๐Ÿ’ก [Submit Pull Requests](https://github.com/eli64s/pyflink-poc/blob/main/CONTRIBUTING.md)**: Review open PRs, and submit your own PRs. + +
+Contributing Guidelines + +1. **Fork the Repository**: Start by forking the project repository to your github account. +2. **Clone Locally**: Clone the forked repository to your local machine using a git client. + ```sh + git clone https://github.com/eli64s/pyflink-poc + ``` +3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name. + ```sh + git checkout -b new-feature-x + ``` +4. **Make Your Changes**: Develop and test your changes locally. +5. **Commit Your Changes**: Commit with a clear message describing your updates. + ```sh + git commit -m 'Implemented new feature x.' + ``` +6. **Push to github**: Push the changes to your forked repository. + ```sh + git push origin new-feature-x + ``` +7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and their motivations. +8. **Review**: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution! +
+ +
+Contributor Graph +
+

+ + + +

+
+ +--- + +## ๐ŸŽ— License + +This project is protected under the [SELECT-A-LICENSE](https://choosealicense.com/licenses) License. For more details, refer to the [LICENSE](https://choosealicense.com/licenses/) file. + +--- + +## ๐Ÿ™Œ Acknowledgments + +- List any resources, contributors, inspiration, etc. here. + +--- diff --git a/examples/headers/svg-banner.md b/examples/headers/svg-banner.md new file mode 100644 index 00000000..3c59c8a0 --- /dev/null +++ b/examples/headers/svg-banner.md @@ -0,0 +1,251 @@ +
+ +
+

+ README magic, AI-powered documentation made easy! +

+

+ license + last-commit + repo-top-language + repo-language-count +

+

Built with the tools and technologies:

+

+ Streamlit + precommit + Ruff + GNU%20Bash + Pytest + Python + Poetry +

+
+ +## ๐Ÿ”— Table of Contents + +I. [๐Ÿ“ Overview](#-overview) +II. [๐Ÿ‘พ Features](#-features) +III. [๐Ÿ“ Project Structure](#-project-structure) +IV. [๐Ÿš€ Getting Started](#-getting-started) +V. [๐Ÿ“Œ Project Roadmap](#-project-roadmap) +VI. [๐Ÿ”ฐ Contributing](#-contributing) +VII. [๐ŸŽ— License](#-license) +VIII. [๐Ÿ™Œ Acknowledgments](#-acknowledgments) + +--- + +## ๐Ÿ“ Overview + +**Readme-ai-streamlit** is a comprehensive toolset designed to streamline project documentation processes by automating README file generation using Streamlit and GPT models. It simplifies documentation maintenance, enhances consistency, and boosts project cleanliness for software development teams. + +With **readme-ai-streamlit**, you can: +๐Ÿš€ **Automate README Generation**: Easily create and customize README.md files powered by AI models. +๐Ÿ”ง **Enhance Documentation Efficiency**: Generate README files automatically, ensuring consistency across the codebase. +๐ŸŒ **Streamlit Web App Integration**: Utilize a user-friendly Streamlit web app for README generation and customization. +๐Ÿ”’ **Customizable Parameters**: Tailor README generation with adjustable language models, temperature, and tree depth. +โšก **Utility Commands**: Access utility commands for project maintenance, version control tasks, and artifact cleaning. + +--- + +## ๐Ÿ‘พ Features + +| | Feature | Summary | +| :--- | :---: | :--- | +| โš™๏ธ | **Architecture** | | +| ๐Ÿ”ฉ | **Code Quality** | | +| ๐Ÿ“„ | **Documentation** | | +| ๐Ÿ”Œ | **Integrations** | | +| ๐Ÿงฉ | **Modularity** | | +| ๐Ÿงช | **Testing** | | +| โšก๏ธ | **Performance** | | +| ๐Ÿ›ก๏ธ | **Security** | | +| ๐Ÿ“ฆ | **Dependencies** | | + +--- + +## ๐Ÿ“ Project Structure + +```sh +โ””โ”€โ”€ readme-ai-streamlit/ + โ”œโ”€โ”€ LICENSE + โ”œโ”€โ”€ Makefile + โ”œโ”€โ”€ README.md + โ”œโ”€โ”€ poetry.lock + โ”œโ”€โ”€ pyproject.toml + โ”œโ”€โ”€ scripts + โ”œโ”€โ”€ src + โ””โ”€โ”€ tests +``` + + +### ๐Ÿ“‚ Project Index +
+ README-AI-STREAMLIT/ +
+ __root__ +
+ + + + + + + + + +
Makefile- Facilitates project maintenance and development tasks such as cleaning artifacts, managing dependencies with Poetry, formatting and linting codebase, running tests, and launching the Streamlit application locally
- Additionally, provides utility commands for version control tasks like displaying git logs, removing files from the cache, and exporting requirements.
pyproject.tomlGenerates README files automatically for the project using Streamlit and GPT models, enhancing documentation efficiency and consistency across the codebase.
+
+
+
+ scripts +
+ + + + + +
clean.sh- Cleans various artifacts like build files, Python artifacts, test and coverage artifacts, backup and cache files from the project directory
- It provides commands to remove specific types of files, enhancing the project's cleanliness and maintainability.
+
+
+
+ src +
+ + + + + + + + + + + + + +
cli.py- Defines CLI configuration settings for the README-AI Streamlit web app
- Presents a user-friendly interface to input repository details, API key, and various styling options for badge, project logo, and header
- Facilitates README generation with customizable parameters like language model, temperature, and tree depth
- Allows users to generate or reset the README file.
app.py- The code file `app.py` serves as a Streamlit web app for the README-AI CLI Python package
- It enables users to generate README.md files powered by AI, providing a user-friendly interface to customize and download the generated content
- The app integrates with various settings and commands to facilitate seamless README generation.
commands.py- Generates CLI commands for the README-AI Streamlit web app, building and executing commands to process repository data
- Handles command execution, capturing and displaying output while processing repositories using specified parameters like API key, alignment, badge style, logo, and more.
+
+
+
+ +--- +## ๐Ÿš€ Getting Started + +### โ˜‘๏ธ Prerequisites + +Before getting started with readme-ai-streamlit, ensure your runtime environment meets the following requirements: + +- **Programming Language:** Python +- **Package Manager:** Poetry + + +### โš™๏ธ Installation + +Install readme-ai-streamlit using one of the following methods: + +**Build from source:** + +1. Clone the readme-ai-streamlit repository: +```sh +โฏ git clone https://github.com/eli64s/readme-ai-streamlit +``` + +2. Navigate to the project directory: +```sh +โฏ cd readme-ai-streamlit +``` + +3. Install the project dependencies: + + +**Using `poetry`**   [](https://python-poetry.org/) + +```sh +โฏ poetry install +``` + + + + +### ๐Ÿค– Usage +Run readme-ai-streamlit using the following command: +**Using `poetry`**   [](https://python-poetry.org/) + +```sh +โฏ poetry run python {entrypoint} +``` + + +### ๐Ÿงช Testing +Run the test suite using the following command: +**Using `poetry`**   [](https://python-poetry.org/) + +```sh +โฏ poetry run pytest +``` + + +--- +## ๐Ÿ“Œ Project Roadmap + +- [X] **`Task 1`**: Implement feature one. +- [ ] **`Task 2`**: Implement feature two. +- [ ] **`Task 3`**: Implement feature three. + +--- + +## ๐Ÿ”ฐ Contributing + +- **๐Ÿ’ฌ [Join the Discussions](https://github.com/eli64s/readme-ai-streamlit/discussions)**: Share your insights, provide feedback, or ask questions. +- **๐Ÿ› [Report Issues](https://github.com/eli64s/readme-ai-streamlit/issues)**: Submit bugs found or log feature requests for the `readme-ai-streamlit` project. +- **๐Ÿ’ก [Submit Pull Requests](https://github.com/eli64s/readme-ai-streamlit/blob/main/CONTRIBUTING.md)**: Review open PRs, and submit your own PRs. + +
+Contributing Guidelines + +1. **Fork the Repository**: Start by forking the project repository to your github account. +2. **Clone Locally**: Clone the forked repository to your local machine using a git client. + ```sh + git clone https://github.com/eli64s/readme-ai-streamlit + ``` +3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name. + ```sh + git checkout -b new-feature-x + ``` +4. **Make Your Changes**: Develop and test your changes locally. +5. **Commit Your Changes**: Commit with a clear message describing your updates. + ```sh + git commit -m 'Implemented new feature x.' + ``` +6. **Push to github**: Push the changes to your forked repository. + ```sh + git push origin new-feature-x + ``` +7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and their motivations. +8. **Review**: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution! +
+ +
+Contributor Graph +
+

+ + + +

+
+ +--- + +## ๐ŸŽ— License + +This project is protected under the [SELECT-A-LICENSE](https://choosealicense.com/licenses) License. For more details, refer to the [LICENSE](https://choosealicense.com/licenses/) file. + +--- + +## ๐Ÿ™Œ Acknowledgments + +- List any resources, contributors, inspiration, etc. here. + +--- diff --git a/examples/headers/svg-banner.svg b/examples/headers/svg-banner.svg new file mode 100644 index 00000000..f0d46850 --- /dev/null +++ b/examples/headers/svg-banner.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + README-AI-STREAMLIT + diff --git a/examples/readme-local.md b/examples/local/readme-local.md similarity index 80% rename from examples/readme-local.md rename to examples/local/readme-local.md index cdd6606a..3ce71f53 100644 --- a/examples/readme-local.md +++ b/examples/local/readme-local.md @@ -95,8 +95,8 @@ The pyflink-poc project is a robust software showcasing the integration of PyFli | File | Summary | | --- | --- | -| [requirements.txt](requirements.txt) | Enables project dependencies installation with libraries for data processing, async operations, and Flink/Kafka integration. Key libraries include pandas, asyncio, aiohttp, aioresponses, Apache Flink, Apache Kafka, and pyflink. | -| [setup.py](setup.py) | Sets up dependencies for the project through package management. Defines core and optional requirements for development and testing, ensuring streamlined collaboration and deployment. Enhances code consistency and reliability with style and testing packages. | +| [requirements.txt](../requirements.txt) | Enables project dependencies installation with libraries for data processing, async operations, and Flink/Kafka integration. Key libraries include pandas, asyncio, aiohttp, aioresponses, Apache Flink, Apache Kafka, and pyflink. | +| [setup.py](../setup.py) | Sets up dependencies for the project through package management. Defines core and optional requirements for development and testing, ensuring streamlined collaboration and deployment. Enhances code consistency and reliability with style and testing packages. |
@@ -104,7 +104,7 @@ The pyflink-poc project is a robust software showcasing the integration of PyFli | File | Summary | | --- | --- | -| [setup.sh](setup/setup.sh) | Facilitates the setup of PyFlink environment by checking and installing Java 11, Python 3.7, Conda, and PyFlink. Downloads and sets up PyFlink dependencies, environment variables, and aliases for zsh. | +| [setup.sh](../setup/setup.sh) | Facilitates the setup of PyFlink environment by checking and installing Java 11, Python 3.7, Conda, and PyFlink. Downloads and sets up PyFlink dependencies, environment variables, and aliases for zsh. | @@ -112,8 +112,8 @@ The pyflink-poc project is a robust software showcasing the integration of PyFli | File | Summary | | --- | --- | -| [run.sh](scripts/run.sh) | Initiates Flink cluster, runs PyFlink job, and stops the cluster. Manages cluster operations for executing PyFlink jobs. Essential script in repository architecture for job execution. | -| [clean.sh](scripts/clean.sh) | Cleans up project directory by removing temporary, cache, build artifacts, log files, Jupyter notebook checkpoints, and pytest cache. Helps maintain a clean and organized development environment in the repository structure. | +| [run.sh](../scripts/run.sh) | Initiates Flink cluster, runs PyFlink job, and stops the cluster. Manages cluster operations for executing PyFlink jobs. Essential script in repository architecture for job execution. | +| [clean.sh](../scripts/clean.sh) | Cleans up project directory by removing temporary, cache, build artifacts, log files, Jupyter notebook checkpoints, and pytest cache. Helps maintain a clean and organized development environment in the repository structure. | @@ -121,8 +121,8 @@ The pyflink-poc project is a robust software showcasing the integration of PyFli | File | Summary | | --- | --- | -| [flink-config.yaml](conf/flink-config.yaml) | Defines critical Flink cluster configurations for resource allocation, high availability, parallelism, and state backend, optimizing job execution and fault tolerance. | -| [conf.toml](conf/conf.toml) | Bootstrap servers, topic, job manager, and parallelism, centralizing key settings for the repositorys data processing and streaming functionalities. | +| [flink-config.yaml](../conf/flink-config.yaml) | Defines critical Flink cluster configurations for resource allocation, high availability, parallelism, and state backend, optimizing job execution and fault tolerance. | +| [conf.toml](../conf/conf.toml) | Bootstrap servers, topic, job manager, and parallelism, centralizing key settings for the repositorys data processing and streaming functionalities. | @@ -130,9 +130,9 @@ The pyflink-poc project is a robust software showcasing the integration of PyFli | File | Summary | | --- | --- | -| [alerts_handler.py](src/alerts_handler.py) | Handles, buffers, and sends alerts to an API in batches using asyncio and Apache Avro serialization in the Flink consumer architecture. | -| [logger.py](src/logger.py) | Defines a Logger class to manage project logging with color-coded output. Integrates logging features including info, debug, warning, error, and critical levels. Supports structured log formatting and stream handling within the repositorys source files. | -| [consumer.py](src/consumer.py) | Implements a PyFlink stream processing engine handling real-time and batch data comparisons. Orchestrates alerts for flagged data discrepancies. Manages fault tolerance and parallel processing for data streaming. | +| [alerts_handler.py](../src/alerts_handler.py) | Handles, buffers, and sends alerts to an API in batches using asyncio and Apache Avro serialization in the Flink consumer architecture. | +| [logger.py](../src/logger.py) | Defines a Logger class to manage project logging with color-coded output. Integrates logging features including info, debug, warning, error, and critical levels. Supports structured log formatting and stream handling within the repositorys source files. | +| [consumer.py](../src/consumer.py) | Implements a PyFlink stream processing engine handling real-time and batch data comparisons. Orchestrates alerts for flagged data discrepancies. Manages fault tolerance and parallel processing for data streaming. | diff --git a/examples/readme-streamlit.md b/examples/logos/custom-balloon.md similarity index 100% rename from examples/readme-streamlit.md rename to examples/logos/custom-balloon.md diff --git a/examples/readme-streamlit-v0.5.88.md b/examples/logos/custom-dragon.md similarity index 100% rename from examples/readme-streamlit-v0.5.88.md rename to examples/logos/custom-dragon.md diff --git a/examples/readme-chunking.md b/examples/logos/dalle-rag.md similarity index 99% rename from examples/readme-chunking.md rename to examples/logos/dalle-rag.md index 7e12c1b1..3c0a0c82 100644 --- a/examples/readme-chunking.md +++ b/examples/logos/dalle-rag.md @@ -1,5 +1,5 @@

- +

THEPIPE

Unleash Efficiency, Embrace Innovation!

diff --git a/examples/logos/dalle-rag.png b/examples/logos/dalle-rag.png new file mode 100644 index 00000000..e0e8ed99 Binary files /dev/null and b/examples/logos/dalle-rag.png differ diff --git a/examples/readme-vercel.md b/examples/logos/dalle.md similarity index 99% rename from examples/readme-vercel.md rename to examples/logos/dalle.md index 582a423e..4ba582d3 100644 --- a/examples/readme-vercel.md +++ b/examples/logos/dalle.md @@ -1,5 +1,5 @@

- + github-readme-quotes

GITHUB-README-QUOTES

Code consistency, creativity, and motivation unleashed!

diff --git a/examples/logos/dalle.png b/examples/logos/dalle.png new file mode 100644 index 00000000..276d345f Binary files /dev/null and b/examples/logos/dalle.png differ diff --git a/examples/readme-offline.md b/examples/offline-mode/readme-ai.md similarity index 100% rename from examples/readme-offline.md rename to examples/offline-mode/readme-ai.md diff --git a/examples/offline-mode/readme-litellm.md b/examples/offline-mode/readme-litellm.md new file mode 100644 index 00000000..d002420c --- /dev/null +++ b/examples/offline-mode/readme-litellm.md @@ -0,0 +1,4349 @@ +

+ +

+

LITELLM

+

+ โฏ REPLACE-ME +

+

+ license + last-commit + repo-top-language + repo-language-count +

+

Built with the tools and technologies:

+

+ Resend + Anthropic + Redis + Prometheus + JavaScript + Gunicorn + FastAPI + NumPy +
+ Pytest + Docker + Python + TypeScript + GitHub%20Actions + Poetry + Prisma + AIOHTTP + OpenAI + Google%20Gemini + Pydantic +

+
+ +
Table of Contents + +- [๐Ÿ“ Overview](#-overview) +- [๐Ÿ‘พ Features](#-features) +- [๐Ÿ“ Project Structure](#-project-structure) + - [๐Ÿ“‚ Project Index](#-project-index) +- [๐Ÿš€ Getting Started](#-getting-started) + - [โ˜‘๏ธ Prerequisites](#-prerequisites) + - [โš™๏ธ Installation](#-installation) + - [๐Ÿค– Usage](#๐Ÿค–-usage) + - [๐Ÿงช Testing](#๐Ÿงช-testing) +- [๐Ÿ“Œ Project Roadmap](#-project-roadmap) +- [๐Ÿ”ฐ Contributing](#-contributing) +- [๐ŸŽ— License](#-license) +- [๐Ÿ™Œ Acknowledgments](#-acknowledgments) + +
+
+ +## ๐Ÿ“ Overview + +โฏ REPLACE-ME + +--- + +## ๐Ÿ‘พ Features + +โฏ REPLACE-ME + +--- + +## ๐Ÿ“ Project Structure + +```sh +โ””โ”€โ”€ litellm/ + โ”œโ”€โ”€ .github + โ”œโ”€โ”€ Dockerfile + โ”œโ”€โ”€ LICENSE + โ”œโ”€โ”€ README.md + โ”œโ”€โ”€ ci_cd + โ”œโ”€โ”€ codecov.yaml + โ”œโ”€โ”€ cookbook + โ”œโ”€โ”€ db_scripts + โ”œโ”€โ”€ deploy + โ”œโ”€โ”€ docker + โ”œโ”€โ”€ docker-compose.yml + โ”œโ”€โ”€ docs + โ”œโ”€โ”€ enterprise + โ”œโ”€โ”€ index.yaml + โ”œโ”€โ”€ litellm + โ”œโ”€โ”€ litellm-js + โ”œโ”€โ”€ model_prices_and_context_window.json + โ”œโ”€โ”€ mypy.ini + โ”œโ”€โ”€ package-lock.json + โ”œโ”€โ”€ package.json + โ”œโ”€โ”€ poetry.lock + โ”œโ”€โ”€ prometheus.yml + โ”œโ”€โ”€ proxy_server_config.yaml + โ”œโ”€โ”€ pyproject.toml + โ”œโ”€โ”€ pyrightconfig.json + โ”œโ”€โ”€ render.yaml + โ”œโ”€โ”€ requirements.txt + โ”œโ”€โ”€ ruff.toml + โ”œโ”€โ”€ schema.prisma + โ”œโ”€โ”€ security.md + โ”œโ”€โ”€ tests + โ””โ”€โ”€ ui +``` + + +### ๐Ÿ“‚ Project Index +
+ LITELLM/ +
+ __root__ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
render.yamlโฏ REPLACE-ME
pyrightconfig.jsonโฏ REPLACE-ME
requirements.txtโฏ REPLACE-ME
codecov.yamlโฏ REPLACE-ME
proxy_server_config.yamlโฏ REPLACE-ME
Dockerfileโฏ REPLACE-ME
schema.prismaโฏ REPLACE-ME
pyproject.tomlโฏ REPLACE-ME
mypy.iniโฏ REPLACE-ME
package-lock.jsonโฏ REPLACE-ME
package.jsonโฏ REPLACE-ME
ruff.tomlโฏ REPLACE-ME
docker-compose.ymlโฏ REPLACE-ME
model_prices_and_context_window.jsonโฏ REPLACE-ME
prometheus.ymlโฏ REPLACE-ME
index.yamlโฏ REPLACE-ME
+
+
+
+ ui +
+ + + + + + + + + + + + + + + + + + + + + +
requirements.txtโฏ REPLACE-ME
Dockerfileโฏ REPLACE-ME
admin.pyโฏ REPLACE-ME
package-lock.jsonโฏ REPLACE-ME
package.jsonโฏ REPLACE-ME
+
+ litellm-dashboard +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
build_ui_custom_path.shโฏ REPLACE-ME
tailwind.config.jsโฏ REPLACE-ME
next.config.mjsโฏ REPLACE-ME
build_ui.shโฏ REPLACE-ME
ui_colors.jsonโฏ REPLACE-ME
tailwind.config.tsโฏ REPLACE-ME
package-lock.jsonโฏ REPLACE-ME
package.jsonโฏ REPLACE-ME
tsconfig.jsonโฏ REPLACE-ME
postcss.config.jsโฏ REPLACE-ME
.eslintrc.jsonโฏ REPLACE-ME
+
+ out +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
model_hub.txtโฏ REPLACE-ME
index.htmlโฏ REPLACE-ME
index.txtโฏ REPLACE-ME
404.htmlโฏ REPLACE-ME
model_hub.htmlโฏ REPLACE-ME
onboarding.txtโฏ REPLACE-ME
onboarding.htmlโฏ REPLACE-ME
+
+
+
+ src +
+
+ app +
+ + + + + + + + + + + + + +
layout.tsxโฏ REPLACE-ME
page.tsxโฏ REPLACE-ME
globals.cssโฏ REPLACE-ME
+
+ model_hub +
+ + + + + +
page.tsxโฏ REPLACE-ME
+
+
+
+ onboarding +
+ + + + + +
page.tsxโฏ REPLACE-ME
+
+
+
+
+
+ components +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
settings.tsxโฏ REPLACE-ME
view_users.tsxโฏ REPLACE-ME
navbar.tsxโฏ REPLACE-ME
request_model_access.tsxโฏ REPLACE-ME
networking.tsxโฏ REPLACE-ME
edit_user.tsxโฏ REPLACE-ME
dashboard_default_team.tsxโฏ REPLACE-ME
onboarding_link.tsxโฏ REPLACE-ME
create_key_button.tsxโฏ REPLACE-ME
view_key_table.tsxโฏ REPLACE-ME
key_value_input.tsxโฏ REPLACE-ME
user_dashboard.tsxโฏ REPLACE-ME
delete_model_button.tsxโฏ REPLACE-ME
api_ref.tsxโฏ REPLACE-ME
model_hub.tsxโฏ REPLACE-ME
model_dashboard.tsxโฏ REPLACE-ME
add_fallbacks.tsxโฏ REPLACE-ME
pass_through_settings.tsxโฏ REPLACE-ME
add_pass_through.tsxโฏ REPLACE-ME
leftnav.tsxโฏ REPLACE-ME
usage.tsxโฏ REPLACE-ME
cache_dashboard.tsxโฏ REPLACE-ME
view_user_spend.tsxโฏ REPLACE-ME
chat_ui.tsxโฏ REPLACE-ME
view_user_team.tsxโฏ REPLACE-ME
teams.tsxโฏ REPLACE-ME
create_user_button.tsxโฏ REPLACE-ME
general_settings.tsxโฏ REPLACE-ME
enter_proxy_url.tsxโฏ REPLACE-ME
admins.tsxโฏ REPLACE-ME
+
+ alerting +
+ + + + + + + + + +
alerting_settings.tsxโฏ REPLACE-ME
dynamic_form.tsxโฏ REPLACE-ME
+
+
+
+ model_metrics +
+ + + + + +
time_to_first_token.tsxโฏ REPLACE-ME
+
+
+
+ model_add +
+ + + + + +
dynamic_form.tsxโฏ REPLACE-ME
+
+
+
+ budgets +
+ + + + + + + + + + + + + + + + + +
budget_settings.tsxโฏ REPLACE-ME
edit_budget_modal.tsxโฏ REPLACE-ME
budget_modal.tsxโฏ REPLACE-ME
budget_panel.tsxโฏ REPLACE-ME
+
+
+
+
+
+
+
+
+
+ pages +
+ + + + + +
user.pyโฏ REPLACE-ME
+
+
+
+
+
+ docker +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Dockerfile.alpineโฏ REPLACE-ME
Dockerfile.non_rootโฏ REPLACE-ME
build_admin_ui.shโฏ REPLACE-ME
.env.exampleโฏ REPLACE-ME
Dockerfile.databaseโฏ REPLACE-ME
Dockerfile.custom_uiโฏ REPLACE-ME
entrypoint.shโฏ REPLACE-ME
+
+
+
+ ci_cd +
+ + + + + + + + + +
check_file_length.pyโฏ REPLACE-ME
check_files_match.pyโฏ REPLACE-ME
+
+
+
+ enterprise +
+ + + + + +
utils.pyโฏ REPLACE-ME
+
+ enterprise_callbacks +
+ + + + + + + + + +
generic_api_callback.pyโฏ REPLACE-ME
example_logging_api.pyโฏ REPLACE-ME
+
+
+
+ cloudformation_stack +
+ + + + + +
litellm.yamlโฏ REPLACE-ME
+
+
+
+ enterprise_hooks +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
blocked_user_list.pyโฏ REPLACE-ME
aporia_ai.pyโฏ REPLACE-ME
openai_moderation.pyโฏ REPLACE-ME
secret_detection.pyโฏ REPLACE-ME
google_text_moderation.pyโฏ REPLACE-ME
llm_guard.pyโฏ REPLACE-ME
llama_guard.pyโฏ REPLACE-ME
banned_keywords.pyโฏ REPLACE-ME
+
+ secrets_plugins +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bitbucket.pyโฏ REPLACE-ME
microsoft_teams_webhook.pyโฏ REPLACE-ME
scalingo_api_token.pyโฏ REPLACE-ME
messagebird.pyโฏ REPLACE-ME
sendinblue_api_token.pyโฏ REPLACE-ME
twitch_api_token.pyโฏ REPLACE-ME
lob.pyโฏ REPLACE-ME
openai_api_key.pyโฏ REPLACE-ME
authress_access_key.pyโฏ REPLACE-ME
pulumi_api_token.pyโฏ REPLACE-ME
age_secret_key.pyโฏ REPLACE-ME
heroku_api_key.pyโฏ REPLACE-ME
telegram_bot_api_token.pyโฏ REPLACE-ME
atlassian_api_token.pyโฏ REPLACE-ME
finnhub_access_token.pyโฏ REPLACE-ME
asana.pyโฏ REPLACE-ME
nytimes_access_token.pyโฏ REPLACE-ME
shopify.pyโฏ REPLACE-ME
gitlab.pyโฏ REPLACE-ME
finicity.pyโฏ REPLACE-ME
datadog_access_token.pyโฏ REPLACE-ME
fastly_api_token.pyโฏ REPLACE-ME
adafruit.pyโฏ REPLACE-ME
linear.pyโฏ REPLACE-ME
readme_api_token.pyโฏ REPLACE-ME
discord.pyโฏ REPLACE-ME
rubygems_api_token.pyโฏ REPLACE-ME
postman_api_token.pyโฏ REPLACE-ME
freshbooks_access_token.pyโฏ REPLACE-ME
okta_access_token.pyโฏ REPLACE-ME
easypost.pyโฏ REPLACE-ME
yandex.pyโฏ REPLACE-ME
flutterwave.pyโฏ REPLACE-ME
hashicorp_tf_api_token.pyโฏ REPLACE-ME
grafana.pyโฏ REPLACE-ME
frameio_api_token.pyโฏ REPLACE-ME
digitalocean.pyโฏ REPLACE-ME
prefect_api_token.pyโฏ REPLACE-ME
gocardless_api_token.pyโฏ REPLACE-ME
codecov_access_token.pyโฏ REPLACE-ME
kucoin.pyโฏ REPLACE-ME
jfrog.pyโฏ REPLACE-ME
clojars_api_token.pyโฏ REPLACE-ME
sumologic.pyโฏ REPLACE-ME
contentful_api_token.pyโฏ REPLACE-ME
dropbox.pyโฏ REPLACE-ME
confluent.pyโฏ REPLACE-ME
coinbase_access_token.pyโฏ REPLACE-ME
airtable_api_key.pyโฏ REPLACE-ME
bittrex.pyโฏ REPLACE-ME
flickr_access_token.pyโฏ REPLACE-ME
new_relic.pyโฏ REPLACE-ME
sendgrid_api_token.pyโฏ REPLACE-ME
dynatrace_api_token.pyโฏ REPLACE-ME
vault.pyโฏ REPLACE-ME
twitter.pyโฏ REPLACE-ME
travisci_access_token.pyโฏ REPLACE-ME
rapidapi_access_token.pyโฏ REPLACE-ME
pypi_upload_token.pyโฏ REPLACE-ME
huggingface.pyโฏ REPLACE-ME
mailgun.pyโฏ REPLACE-ME
mattermost_access_token.pyโฏ REPLACE-ME
linkedin.pyโฏ REPLACE-ME
algolia_api_key.pyโฏ REPLACE-ME
mapbox_api_token.pyโฏ REPLACE-ME
alibaba.pyโฏ REPLACE-ME
shippo_api_token.pyโฏ REPLACE-ME
planetscale.pyโฏ REPLACE-ME
github_token.pyโฏ REPLACE-ME
intercom_api_key.pyโฏ REPLACE-ME
etsy_access_token.pyโฏ REPLACE-ME
typeform_api_token.pyโฏ REPLACE-ME
facebook_access_token.pyโฏ REPLACE-ME
sentry_access_token.pyโฏ REPLACE-ME
defined_networking_api_token.pyโฏ REPLACE-ME
hubspot_api_key.pyโฏ REPLACE-ME
gitter_access_token.pyโฏ REPLACE-ME
netlify_access_token.pyโฏ REPLACE-ME
slack.pyโฏ REPLACE-ME
launchdarkly_access_token.pyโฏ REPLACE-ME
databricks_api_token.pyโฏ REPLACE-ME
duffel_api_token.pyโฏ REPLACE-ME
squarespace_access_token.pyโฏ REPLACE-ME
doppler_api_token.pyโฏ REPLACE-ME
jwt.pyโฏ REPLACE-ME
gcp_api_key.pyโฏ REPLACE-ME
kraken_access_token.pyโฏ REPLACE-ME
snyk_api_token.pyโฏ REPLACE-ME
droneci_access_token.pyโฏ REPLACE-ME
sendbird.pyโฏ REPLACE-ME
adobe.pyโฏ REPLACE-ME
beamer_api_token.pyโฏ REPLACE-ME
zendesk_secret_key.pyโฏ REPLACE-ME
+
+
+
+
+
+ enterprise_ui +
+ + + + + +
_enterprise_colors.jsonโฏ REPLACE-ME
+
+
+
+
+
+ deploy +
+ + + + + +
Dockerfile.ghcr_baseโฏ REPLACE-ME
+
+ charts +
+
+ litellm-helm +
+ + + + + + + + + + + + + +
Chart.yamlโฏ REPLACE-ME
.helmignoreโฏ REPLACE-ME
values.yamlโฏ REPLACE-ME
+
+ charts +
+ + + + + + + + + +
postgresql-14.3.1.tgzโฏ REPLACE-ME
redis-18.19.1.tgzโฏ REPLACE-ME
+
+
+
+ templates +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
deployment.yamlโฏ REPLACE-ME
configmap-litellm.yamlโฏ REPLACE-ME
NOTES.txtโฏ REPLACE-ME
ingress.yamlโฏ REPLACE-ME
secret-dbcredentials.yamlโฏ REPLACE-ME
service.yamlโฏ REPLACE-ME
hpa.yamlโฏ REPLACE-ME
serviceaccount.yamlโฏ REPLACE-ME
secret-masterkey.yamlโฏ REPLACE-ME
_helpers.tplโฏ REPLACE-ME
+
+
+
+
+
+
+
+ kubernetes +
+ + + + + + + + + +
kub.yamlโฏ REPLACE-ME
service.yamlโฏ REPLACE-ME
+
+
+
+ azure_resource_manager +
+ + + + + +
main.bicepโฏ REPLACE-ME
+
+ azure_marketplace +
+ + + + + + + + + +
mainTemplate.jsonโฏ REPLACE-ME
createUiDefinition.jsonโฏ REPLACE-ME
+
+
+
+
+
+
+
+ cookbook +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Proxy_Batch_Users.ipynbโฏ REPLACE-ME
LiteLLM_Petals.ipynbโฏ REPLACE-ME
LiteLLM_Completion_Cost.ipynbโฏ REPLACE-ME
litellm_Test_Multiple_Providers.ipynbโฏ REPLACE-ME
VLLM_Model_Testing.ipynbโฏ REPLACE-ME
litellm_model_fallback.ipynbโฏ REPLACE-ME
LiteLLM_OpenRouter.ipynbโฏ REPLACE-ME
litellm_test_multiple_llm_demo.ipynbโฏ REPLACE-ME
mlflow_langchain_tracing_litellm_proxy.ipynbโฏ REPLACE-ME
liteLLM_Ollama.ipynbโฏ REPLACE-ME
LiteLLM_User_Based_Rate_Limits.ipynbโฏ REPLACE-ME
LiteLLM_HuggingFace.ipynbโฏ REPLACE-ME
liteLLM_clarifai_Demo.ipynbโฏ REPLACE-ME
LiteLLM_Bedrock.ipynbโฏ REPLACE-ME
liteLLM_Langchain_Demo.ipynbโฏ REPLACE-ME
liteLLM_Baseten.ipynbโฏ REPLACE-ME
liteLLM_Getting_Started.ipynbโฏ REPLACE-ME
Evaluating_LLMs.ipynbโฏ REPLACE-ME
liteLLM_VertextAI_Example.ipynbโฏ REPLACE-ME
liteLLM_function_calling.ipynbโฏ REPLACE-ME
Migrating_to_LiteLLM_Proxy_from_OpenAI_Azure_OpenAI.ipynbโฏ REPLACE-ME
liteLLM_IBM_Watsonx.ipynbโฏ REPLACE-ME
TogetherAI_liteLLM.ipynbโฏ REPLACE-ME
LiteLLM_batch_completion.ipynbโฏ REPLACE-ME
liteLLM_A121_Jurrasic_example.ipynbโฏ REPLACE-ME
Parallel_function_calling.ipynbโฏ REPLACE-ME
LiteLLM_PromptLayer.ipynbโฏ REPLACE-ME
Benchmarking_LLMs_by_use_case.ipynbโฏ REPLACE-ME
Claude_(Anthropic)_with_Streaming_liteLLM_Examples.ipynbโฏ REPLACE-ME
result.htmlโฏ REPLACE-ME
liteLLM_Streaming_Demo.ipynbโฏ REPLACE-ME
LiteLLM_Comparing_LLMs.ipynbโฏ REPLACE-ME
liteLLM_Replicate_Demo.ipynbโฏ REPLACE-ME
LiteLLM_Azure_and_OpenAI_example.ipynbโฏ REPLACE-ME
Using_Nemo_Guardrails_with_LiteLLM_Server.ipynbโฏ REPLACE-ME
+
+ benchmark +
+ + + + + +
benchmark.pyโฏ REPLACE-ME
+
+ eval_suites_mlflow_autoevals +
+ + + + + +
auto_evals.pyโฏ REPLACE-ME
+
+
+
+
+
+ misc +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
sagmaker_streaming.pyโฏ REPLACE-ME
migrate_proxy_config.pyโฏ REPLACE-ME
config.yamlโฏ REPLACE-ME
openai_timeouts.pyโฏ REPLACE-ME
dev_release.txtโฏ REPLACE-ME
add_new_models.pyโฏ REPLACE-ME
+
+
+
+ codellama-server +
+ + + + + + + + + +
README.MDโฏ REPLACE-ME
main.pyโฏ REPLACE-ME
+
+
+
+ community-resources +
+ + + + + + + + + +
get_hf_models.pyโฏ REPLACE-ME
max_tokens.jsonโฏ REPLACE-ME
+
+
+
+ litellm_proxy_server +
+
+ grafana_dashboard +
+
+ dashboard_1 +
+ + + + + +
grafana_dashboard.jsonโฏ REPLACE-ME
+
+
+
+ dashboard_v2 +
+ + + + + +
grafana_dashboard.jsonโฏ REPLACE-ME
+
+
+
+
+
+
+
+ litellm_router +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
error_log.txtโฏ REPLACE-ME
load_test_proxy.pyโฏ REPLACE-ME
load_test_queuing.pyโฏ REPLACE-ME
request_log.txtโฏ REPLACE-ME
response_log.txtโฏ REPLACE-ME
load_test_router.pyโฏ REPLACE-ME
+
+ test_questions +
+ + + + + + + + + + + + + +
question3.txtโฏ REPLACE-ME
question2.txtโฏ REPLACE-ME
question1.txtโฏ REPLACE-ME
+
+
+
+
+
+ litellm_router_load_test +
+ + + + + + + + + + + + + +
test_loadtest_router_withs3_cache.pyโฏ REPLACE-ME
test_loadtest_router.pyโฏ REPLACE-ME
test_loadtest_openai_client.pyโฏ REPLACE-ME
+
+ memory_usage +
+ + + + + + + + + + + + + + + + + +
router_memory_usage copy.pyโฏ REPLACE-ME
router_endpoint.pyโฏ REPLACE-ME
send_request.pyโฏ REPLACE-ME
router_memory_usage.pyโฏ REPLACE-ME
+
+
+
+
+
+ logging_observability +
+ + + + + + + + + +
LiteLLM_Langfuse.ipynbโฏ REPLACE-ME
LiteLLM_Lunary.ipynbโฏ REPLACE-ME
+
+
+
+ litellm-ollama-docker-image +
+ + + + + + + + + + + + + + + + + +
requirements.txtโฏ REPLACE-ME
Dockerfileโฏ REPLACE-ME
test.pyโฏ REPLACE-ME
start.shโฏ REPLACE-ME
+
+
+
+
+
+ litellm-js +
+
+ proxy +
+ + + + + + + + + + + + + +
package.jsonโฏ REPLACE-ME
tsconfig.jsonโฏ REPLACE-ME
wrangler.tomlโฏ REPLACE-ME
+
+ src +
+ + + + + +
index.tsโฏ REPLACE-ME
+
+
+
+
+
+ spend-logs +
+ + + + + + + + + + + + + + + + + + + + + +
Dockerfileโฏ REPLACE-ME
schema.prismaโฏ REPLACE-ME
package-lock.jsonโฏ REPLACE-ME
package.jsonโฏ REPLACE-ME
tsconfig.jsonโฏ REPLACE-ME
+
+ src +
+ + + + + + + + + +
index.tsโฏ REPLACE-ME
_types.tsโฏ REPLACE-ME
+
+
+
+
+
+
+
+ db_scripts +
+ + + + + + + + + +
update_unassigned_teams.pyโฏ REPLACE-ME
create_views.pyโฏ REPLACE-ME
+
+
+
+ .github +
+ + + + + + + + + + + + + +
FUNDING.ymlโฏ REPLACE-ME
template.yamlโฏ REPLACE-ME
dependabot.yamlโฏ REPLACE-ME
+
+ workflows +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
update_release.pyโฏ REPLACE-ME
locustfile.pyโฏ REPLACE-ME
lint.ymlโฏ REPLACE-ME
read_pyproject_version.ymlโฏ REPLACE-ME
ghcr_helm_deploy.ymlโฏ REPLACE-ME
auto_update_price_and_context_window_file.pyโฏ REPLACE-ME
auto_update_price_and_context_window.ymlโฏ REPLACE-ME
ghcr_deploy.ymlโฏ REPLACE-ME
load_test.ymlโฏ REPLACE-ME
interpret_load_test.pyโฏ REPLACE-ME
redeploy_proxy.pyโฏ REPLACE-ME
main.ymlโฏ REPLACE-ME
+
+
+
+ actions +
+
+ helm-oci-chart-releaser +
+ + + + + +
action.ymlโฏ REPLACE-ME
+
+
+
+
+
+ ISSUE_TEMPLATE +
+ + + + + + + + + + + + + +
feature_request.ymlโฏ REPLACE-ME
bug_report.ymlโฏ REPLACE-ME
config.ymlโฏ REPLACE-ME
+
+
+
+
+
+ litellm +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_logging.pyโฏ REPLACE-ME
requirements.txtโฏ REPLACE-ME
_version.pyโฏ REPLACE-ME
cost_calculator.pyโฏ REPLACE-ME
cost.jsonโฏ REPLACE-ME
timeout.pyโฏ REPLACE-ME
model_prices_and_context_window_backup.jsonโฏ REPLACE-ME
utils.pyโฏ REPLACE-ME
py.typedโฏ REPLACE-ME
exceptions.pyโฏ REPLACE-ME
scheduler.pyโฏ REPLACE-ME
router.pyโฏ REPLACE-ME
main.pyโฏ REPLACE-ME
budget_manager.pyโฏ REPLACE-ME
_redis.pyโฏ REPLACE-ME
_service_logger.pyโฏ REPLACE-ME
+
+ types +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
rerank.pyโฏ REPLACE-ME
files.pyโฏ REPLACE-ME
services.pyโฏ REPLACE-ME
completion.pyโฏ REPLACE-ME
embedding.pyโฏ REPLACE-ME
adapter.pyโฏ REPLACE-ME
caching.pyโฏ REPLACE-ME
utils.pyโฏ REPLACE-ME
guardrails.pyโฏ REPLACE-ME
router.pyโฏ REPLACE-ME
+
+ integrations +
+ + + + + + + + + + + + + + + + + + + + + +
langfuse.pyโฏ REPLACE-ME
prometheus.pyโฏ REPLACE-ME
slack_alerting.pyโฏ REPLACE-ME
argilla.pyโฏ REPLACE-ME
arize.pyโฏ REPLACE-ME
+
+
+
+ llms +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
openai.pyโฏ REPLACE-ME
vertex_ai.pyโฏ REPLACE-ME
anthropic.pyโฏ REPLACE-ME
custom_llm.pyโฏ REPLACE-ME
databricks.pyโฏ REPLACE-ME
cohere.pyโฏ REPLACE-ME
ollama.pyโฏ REPLACE-ME
bedrock.pyโฏ REPLACE-ME
azure_ai.pyโฏ REPLACE-ME
+
+
+
+
+
+ proxy +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
prisma_migration.pyโฏ REPLACE-ME
_new_secret_config.yamlโฏ REPLACE-ME
_types.pyโฏ REPLACE-ME
_logging.pyโฏ REPLACE-ME
proxy_config.yamlโฏ REPLACE-ME
proxy_cli.pyโฏ REPLACE-ME
llamaguard_prompt.txtโฏ REPLACE-ME
litellm_pre_call_utils.pyโฏ REPLACE-ME
lambda.pyโฏ REPLACE-ME
schema.prismaโฏ REPLACE-ME
caching_routes.pyโฏ REPLACE-ME
proxy_server.pyโฏ REPLACE-ME
utils.pyโฏ REPLACE-ME
health_check.pyโฏ REPLACE-ME
_super_secret_config.yamlโฏ REPLACE-ME
custom_sso.pyโฏ REPLACE-ME
openapi.jsonโฏ REPLACE-ME
start.shโฏ REPLACE-ME
post_call_rules.pyโฏ REPLACE-ME
route_llm_request.pyโฏ REPLACE-ME
+
+ common_utils +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
load_config_utils.pyโฏ REPLACE-ME
callback_utils.pyโฏ REPLACE-ME
openai_endpoint_utils.pyโฏ REPLACE-ME
http_parsing_utils.pyโฏ REPLACE-ME
encrypt_decrypt_utils.pyโฏ REPLACE-ME
swagger_utils.pyโฏ REPLACE-ME
admin_ui_utils.pyโฏ REPLACE-ME
debug_utils.pyโฏ REPLACE-ME
+
+
+
+ guardrails +
+ + + + + + + + + +
init_guardrails.pyโฏ REPLACE-ME
guardrail_helpers.pyโฏ REPLACE-ME
+
+ guardrail_hooks +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
aporia_ai.pyโฏ REPLACE-ME
bedrock_guardrails.pyโฏ REPLACE-ME
presidio.pyโฏ REPLACE-ME
custom_guardrail.pyโฏ REPLACE-ME
lakera_ai.pyโฏ REPLACE-ME
guardrails_ai.pyโฏ REPLACE-ME
+
+
+
+
+
+ spend_tracking +
+ + + + + + + + + +
spend_management_endpoints.pyโฏ REPLACE-ME
spend_tracking_utils.pyโฏ REPLACE-ME
+
+
+
+ health_endpoints +
+ + + + + +
_health_endpoints.pyโฏ REPLACE-ME
+
+
+
+ config_management_endpoints +
+ + + + + +
pass_through_endpoints.pyโฏ REPLACE-ME
+
+
+
+ vertex_ai_endpoints +
+ + + + + + + + + + + + + +
vertex_endpoints.pyโฏ REPLACE-ME
langfuse_endpoints.pyโฏ REPLACE-ME
google_ai_studio_endpoints.pyโฏ REPLACE-ME
+
+
+
+ _experimental +
+ + + + + +
post_call_rules.pyโฏ REPLACE-ME
+
+ out +
+ + + + + + + + + + + + + + + + + +
model_hub.txtโฏ REPLACE-ME
index.htmlโฏ REPLACE-ME
index.txtโฏ REPLACE-ME
onboarding.txtโฏ REPLACE-ME
+
+
+
+
+
+ openai_files_endpoints +
+ + + + + +
files_endpoints.pyโฏ REPLACE-ME
+
+
+
+ auth +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
route_checks.pyโฏ REPLACE-ME
service_account_checks.pyโฏ REPLACE-ME
auth_checks.pyโฏ REPLACE-ME
oauth2_check.pyโฏ REPLACE-ME
model_checks.pyโฏ REPLACE-ME
oauth2_proxy_hook.pyโฏ REPLACE-ME
auth_utils.pyโฏ REPLACE-ME
auth_checks_organization.pyโฏ REPLACE-ME
handle_jwt.pyโฏ REPLACE-ME
rds_iam_token.pyโฏ REPLACE-ME
user_api_key_auth.pyโฏ REPLACE-ME
litellm_license.pyโฏ REPLACE-ME
+
+
+
+ analytics_endpoints +
+ + + + + +
analytics_endpoints.pyโฏ REPLACE-ME
+
+
+
+ fine_tuning_endpoints +
+ + + + + +
endpoints.pyโฏ REPLACE-ME
+
+
+
+ proxy_load_test +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
litellm_proxy_config.yamlโฏ REPLACE-ME
locustfile.pyโฏ REPLACE-ME
openai_endpoint.pyโฏ REPLACE-ME
simple_litellm_router_proxy.pyโฏ REPLACE-ME
simple_litellm_proxy.pyโฏ REPLACE-ME
simple_proxy.pyโฏ REPLACE-ME
+
+ litellm_router_proxy +
+ + + + + + + + + +
Dockerfileโฏ REPLACE-ME
main.pyโฏ REPLACE-ME
+
+
+
+
+
+ rerank_endpoints +
+ + + + + +
endpoints.pyโฏ REPLACE-ME
+
+
+
+ management_helpers +
+ + + + + +
utils.pyโฏ REPLACE-ME
+
+
+
+ hooks +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cache_control_check.pyโฏ REPLACE-ME
batch_redis_get.pyโฏ REPLACE-ME
dynamic_rate_limiter.pyโฏ REPLACE-ME
presidio_pii_masking.pyโฏ REPLACE-ME
prompt_injection_detection.pyโฏ REPLACE-ME
max_budget_limiter.pyโฏ REPLACE-ME
parallel_request_limiter.pyโฏ REPLACE-ME
example_presidio_ad_hoc_recognizer.jsonโฏ REPLACE-ME
azure_content_safety.pyโฏ REPLACE-ME
+
+
+
+ ui_crud_endpoints +
+ + + + + +
proxy_setting_endpoints.pyโฏ REPLACE-ME
+
+
+
+ management_endpoints +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
key_management_endpoints.pyโฏ REPLACE-ME
team_endpoints.pyโฏ REPLACE-ME
sso_helper_utils.pyโฏ REPLACE-ME
organization_endpoints.pyโฏ REPLACE-ME
ui_sso.pyโฏ REPLACE-ME
internal_user_endpoints.pyโฏ REPLACE-ME
team_callback_endpoints.pyโฏ REPLACE-ME
+
+
+
+ db +
+ + + + + + + + + + + + + + + + + + + + + +
base_client.pyโฏ REPLACE-ME
prisma_client.pyโฏ REPLACE-ME
create_views.pyโฏ REPLACE-ME
dynamo_db.pyโฏ REPLACE-ME
check_migration.pyโฏ REPLACE-ME
+
+
+
+ example_config_yaml +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
otel_test_config.yamlโฏ REPLACE-ME
custom_auth.pyโฏ REPLACE-ME
azure_config.yamlโฏ REPLACE-ME
aliases_config.yamlโฏ REPLACE-ME
custom_auth_basic.pyโฏ REPLACE-ME
bad_schema.prismaโฏ REPLACE-ME
opentelemetry_config.yamlโฏ REPLACE-ME
disable_schema_update.yamlโฏ REPLACE-ME
simple_config.yamlโฏ REPLACE-ME
load_balancer.yamlโฏ REPLACE-ME
pass_through_config.yamlโฏ REPLACE-ME
langfuse_config.yamlโฏ REPLACE-ME
custom_guardrail.pyโฏ REPLACE-ME
custom_callbacks1.pyโฏ REPLACE-ME
_health_check_test_config.yamlโฏ REPLACE-ME
custom_handler.pyโฏ REPLACE-ME
custom_callbacks.pyโฏ REPLACE-ME
+
+
+
+ pass_through_endpoints +
+ + + + + + + + + + + + + + + + + +
pass_through_endpoints.pyโฏ REPLACE-ME
types.pyโฏ REPLACE-ME
success_handler.pyโฏ REPLACE-ME
streaming_handler.pyโฏ REPLACE-ME
+
+
+
+
+
+ fine_tuning +
+ + + + + +
main.pyโฏ REPLACE-ME
+
+
+
+ assistants +
+ + + + + + + + + +
utils.pyโฏ REPLACE-ME
main.pyโฏ REPLACE-ME
+
+
+
+ secret_managers +
+ + + + + + + + + + + + + + + + + + + + + +
google_secret_manager.pyโฏ REPLACE-ME
google_kms.pyโฏ REPLACE-ME
aws_secret_manager.pyโฏ REPLACE-ME
main.pyโฏ REPLACE-ME
get_azure_ad_token_provider.pyโฏ REPLACE-ME
+
+
+
+ rerank_api +
+ + + + + +
main.pyโฏ REPLACE-ME
+
+
+
+ realtime_api +
+ + + + + +
main.pyโฏ REPLACE-ME
+
+
+
+ integrations +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
arize_ai.pyโฏ REPLACE-ME
dynamodb.pyโฏ REPLACE-ME
supabase.pyโฏ REPLACE-ME
helicone.pyโฏ REPLACE-ME
prometheus_services.pyโฏ REPLACE-ME
langsmith.pyโฏ REPLACE-ME
galileo.pyโฏ REPLACE-ME
lago.pyโฏ REPLACE-ME
traceloop.pyโฏ REPLACE-ME
braintrust_logging.pyโฏ REPLACE-ME
opentelemetry.pyโฏ REPLACE-ME
custom_logger.pyโฏ REPLACE-ME
logfire_logger.pyโฏ REPLACE-ME
langtrace.pyโฏ REPLACE-ME
weights_biases.pyโฏ REPLACE-ME
prompt_layer.pyโฏ REPLACE-ME
custom_batch_logger.pyโฏ REPLACE-ME
literal_ai.pyโฏ REPLACE-ME
prometheus.pyโฏ REPLACE-ME
email_alerting.pyโฏ REPLACE-ME
custom_guardrail.pyโฏ REPLACE-ME
argilla.pyโฏ REPLACE-ME
athina.pyโฏ REPLACE-ME
test_httpx.pyโฏ REPLACE-ME
greenscale.pyโฏ REPLACE-ME
s3.pyโฏ REPLACE-ME
lunary.pyโฏ REPLACE-ME
openmeter.pyโฏ REPLACE-ME
+
+ langfuse +
+ + + + + + + + + +
langfuse_handler.pyโฏ REPLACE-ME
langfuse.pyโฏ REPLACE-ME
+
+
+
+ _types +
+ + + + + +
open_inference.pyโฏ REPLACE-ME
+
+
+
+ email_templates +
+ + + + + +
templates.pyโฏ REPLACE-ME
+
+
+
+ prometheus_helpers +
+ + + + + +
prometheus_api.pyโฏ REPLACE-ME
+
+
+
+ gcs_bucket +
+ + + + + + + + + +
gcs_bucket.pyโฏ REPLACE-ME
gcs_bucket_base.pyโฏ REPLACE-ME
+
+
+
+ datadog +
+ + + + + + + + + + + + + +
types.pyโฏ REPLACE-ME
utils.pyโฏ REPLACE-ME
datadog.pyโฏ REPLACE-ME
+
+
+
+ SlackAlerting +
+ + + + + + + + + + + + + +
utils.pyโฏ REPLACE-ME
slack_alerting.pyโฏ REPLACE-ME
batching_handler.pyโฏ REPLACE-ME
+
+
+
+ opik +
+ + + + + + + + + +
opik.pyโฏ REPLACE-ME
utils.pyโฏ REPLACE-ME
+
+
+
+
+
+ adapters +
+ + + + + +
anthropic_adapter.pyโฏ REPLACE-ME
+
+
+
+ deprecated_litellm_server +
+ + + + + + + + + + + + + + + + + + + + + +
requirements.txtโฏ REPLACE-ME
Dockerfileโฏ REPLACE-ME
.env.templateโฏ REPLACE-ME
server_utils.pyโฏ REPLACE-ME
main.pyโฏ REPLACE-ME
+
+
+
+ files +
+ + + + + +
main.pyโฏ REPLACE-ME
+
+
+
+ litellm_core_utils +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
redact_messages.pyโฏ REPLACE-ME
token_counter.pyโฏ REPLACE-ME
streaming_utils.pyโฏ REPLACE-ME
asyncify.pyโฏ REPLACE-ME
litellm_logging.pyโฏ REPLACE-ME
json_validation_rule.pyโฏ REPLACE-ME
core_helpers.pyโฏ REPLACE-ME
mock_functions.pyโฏ REPLACE-ME
get_llm_provider_logic.pyโฏ REPLACE-ME
realtime_streaming.pyโฏ REPLACE-ME
response_header_helpers.pyโฏ REPLACE-ME
streaming_chunk_builder_utils.pyโฏ REPLACE-ME
llm_request_utils.pyโฏ REPLACE-ME
logging_utils.pyโฏ REPLACE-ME
exception_mapping_utils.pyโฏ REPLACE-ME
+
+ llm_response_utils +
+ + + + + + + + + +
convert_dict_to_response.pyโฏ REPLACE-ME
get_headers.pyโฏ REPLACE-ME
+
+
+
+ audio_utils +
+ + + + + +
utils.pyโฏ REPLACE-ME
+
+
+
+ llm_cost_calc +
+ + + + + + + + + +
google.pyโฏ REPLACE-ME
utils.pyโฏ REPLACE-ME
+
+
+
+
+
+ batch_completion +
+ + + + + +
main.pyโฏ REPLACE-ME
+
+
+
+ router_utils +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
client_initalization_utils.pyโฏ REPLACE-ME
fallback_event_handlers.pyโฏ REPLACE-ME
handle_error.pyโฏ REPLACE-ME
batch_utils.pyโฏ REPLACE-ME
cooldown_cache.pyโฏ REPLACE-ME
cooldown_callbacks.pyโฏ REPLACE-ME
cooldown_handlers.pyโฏ REPLACE-ME
pattern_match_deployments.pyโฏ REPLACE-ME
+
+ router_callbacks +
+ + + + + +
track_deployment_metrics.pyโฏ REPLACE-ME
+
+
+
+
+
+ llms +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
azure_text.pyโฏ REPLACE-ME
maritalk.pyโฏ REPLACE-ME
palm.pyโฏ REPLACE-ME
triton.pyโฏ REPLACE-ME
vllm.pyโฏ REPLACE-ME
volcengine.pyโฏ REPLACE-ME
openrouter.pyโฏ REPLACE-ME
replicate.pyโฏ REPLACE-ME
petals.pyโฏ REPLACE-ME
cloudflare.pyโฏ REPLACE-ME
gemini.pyโฏ REPLACE-ME
aleph_alpha.pyโฏ REPLACE-ME
ollama_chat.pyโฏ REPLACE-ME
oobabooga.pyโฏ REPLACE-ME
text_completion_codestral.pyโฏ REPLACE-ME
base_aws_llm.pyโฏ REPLACE-ME
baseten.pyโฏ REPLACE-ME
custom_llm.pyโฏ REPLACE-ME
watsonx.pyโฏ REPLACE-ME
clarifai.pyโฏ REPLACE-ME
huggingface_restapi.pyโฏ REPLACE-ME
ollama.pyโฏ REPLACE-ME
base.pyโฏ REPLACE-ME
predibase.pyโฏ REPLACE-ME
nlp_cloud.pyโฏ REPLACE-ME
+
+ cohere +
+ + + + + + + + + + + + + + + + + + + + + +
rerank.pyโฏ REPLACE-ME
embed.pyโฏ REPLACE-ME
completion.pyโฏ REPLACE-ME
cost_calculator.pyโฏ REPLACE-ME
chat.pyโฏ REPLACE-ME
+
+
+
+ tokenizers +
+ + + + + + + + + + + + + + + + + +
anthropic_tokenizer.jsonโฏ REPLACE-ME
9b5ad71b2ce5302211f9c61530b329a4922fc6a4โฏ REPLACE-ME
ec7223a39ce59f226a68acc30dc1af2788490e15โฏ REPLACE-ME
fb374d419588a4632f3f557e76b4b70aebbca790โฏ REPLACE-ME
+
+
+
+ sambanova +
+ + + + + +
chat.pyโฏ REPLACE-ME
+
+
+
+ fine_tuning_apis +
+ + + + + + + + + + + + + +
azure.pyโฏ REPLACE-ME
openai.pyโฏ REPLACE-ME
vertex_ai.pyโฏ REPLACE-ME
+
+
+
+ huggingface_llms_metadata +
+ + + + + + + + + +
hf_text_generation_models.txtโฏ REPLACE-ME
hf_conversational_models.txtโฏ REPLACE-ME
+
+
+
+ AzureOpenAI +
+ + + + + + + + + + + + + + + + + + + + + +
assistants.pyโฏ REPLACE-ME
azure.pyโฏ REPLACE-ME
cost_calculation.pyโฏ REPLACE-ME
audio_transcriptions.pyโฏ REPLACE-ME
common_utils.pyโฏ REPLACE-ME
+
+ chat +
+ + + + + + + + + + + + + +
o1_handler.pyโฏ REPLACE-ME
o1_transformation.pyโฏ REPLACE-ME
gpt_transformation.pyโฏ REPLACE-ME
+
+
+
+ realtime +
+ + + + + +
handler.pyโฏ REPLACE-ME
+
+
+
+
+
+ files_apis +
+ + + + + +
azure.pyโฏ REPLACE-ME
+
+
+
+ azure_ai +
+ + + + + +
cost_calculator.pyโฏ REPLACE-ME
+
+ embed +
+ + + + + + + + + +
cohere_transformation.pyโฏ REPLACE-ME
handler.pyโฏ REPLACE-ME
+
+
+
+ chat +
+ + + + + + + + + +
transformation.pyโฏ REPLACE-ME
handler.pyโฏ REPLACE-ME
+
+
+
+ rerank +
+ + + + + + + + + +
transformation.pyโฏ REPLACE-ME
handler.pyโฏ REPLACE-ME
+
+
+
+
+
+ databricks +
+ + + + + + + + + + + + + + + + + +
cost_calculator.pyโฏ REPLACE-ME
streaming_utils.pyโฏ REPLACE-ME
chat.pyโฏ REPLACE-ME
exceptions.pyโฏ REPLACE-ME
+
+
+
+ groq +
+
+ chat +
+ + + + + + + + + +
transformation.pyโฏ REPLACE-ME
handler.pyโฏ REPLACE-ME
+
+
+
+ stt +
+ + + + + +
transformation.pyโฏ REPLACE-ME
+
+
+
+
+
+ jina_ai +
+
+ embedding +
+ + + + + +
transformation.pyโฏ REPLACE-ME
+
+
+
+
+
+ bedrock +
+ + + + + + + + + +
image_generation.pyโฏ REPLACE-ME
common_utils.pyโฏ REPLACE-ME
+
+ embed +
+ + + + + + + + + + + + + + + + + + + + + +
cohere_transformation.pyโฏ REPLACE-ME
embedding.pyโฏ REPLACE-ME
amazon_titan_multimodal_transformation.pyโฏ REPLACE-ME
amazon_titan_g1_transformation.pyโฏ REPLACE-ME
amazon_titan_v2_transformation.pyโฏ REPLACE-ME
+
+
+
+ chat +
+ + + + + + + + + + + + + +
invoke_handler.pyโฏ REPLACE-ME
converse_handler.pyโฏ REPLACE-ME
converse_transformation.pyโฏ REPLACE-ME
+
+
+
+
+
+ hosted_vllm +
+
+ chat +
+ + + + + +
transformation.pyโฏ REPLACE-ME
+
+
+
+
+
+ perplexity +
+
+ chat +
+ + + + + +
transformation.pyโฏ REPLACE-ME
+
+
+
+
+
+ fireworks_ai +
+ + + + + +
cost_calculator.pyโฏ REPLACE-ME
+
+ embed +
+ + + + + +
fireworks_ai_transformation.pyโฏ REPLACE-ME
+
+
+
+ chat +
+ + + + + +
fireworks_ai_transformation.pyโฏ REPLACE-ME
+
+
+
+
+
+ nvidia_nim +
+ + + + + + + + + +
embed.pyโฏ REPLACE-ME
chat.pyโฏ REPLACE-ME
+
+
+
+ anthropic +
+ + + + + + + + + + + + + +
completion.pyโฏ REPLACE-ME
cost_calculation.pyโฏ REPLACE-ME
common_utils.pyโฏ REPLACE-ME
+
+ experimental_pass_through +
+ + + + + +
transformation.pyโฏ REPLACE-ME
+
+
+
+ chat +
+ + + + + + + + + +
transformation.pyโฏ REPLACE-ME
handler.pyโฏ REPLACE-ME
+
+
+
+
+
+ together_ai +
+ + + + + + + + + + + + + + + + + +
rerank.pyโฏ REPLACE-ME
embed.pyโฏ REPLACE-ME
cost_calculator.pyโฏ REPLACE-ME
chat.pyโฏ REPLACE-ME
+
+ completion +
+ + + + + + + + + +
transformation.pyโฏ REPLACE-ME
handler.pyโฏ REPLACE-ME
+
+
+
+
+
+ vertex_ai_and_google_ai_studio +
+ + + + + + + + + + + + + +
vertex_llm_base.pyโฏ REPLACE-ME
vertex_ai_non_gemini.pyโฏ REPLACE-ME
common_utils.pyโฏ REPLACE-ME
+
+ multimodal_embeddings +
+ + + + + +
embedding_handler.pyโฏ REPLACE-ME
+
+
+
+ context_caching +
+ + + + + + + + + +
transformation.pyโฏ REPLACE-ME
vertex_ai_context_caching.pyโฏ REPLACE-ME
+
+
+
+ vertex_embeddings +
+ + + + + + + + + + + + + +
transformation.pyโฏ REPLACE-ME
embedding_handler.pyโฏ REPLACE-ME
types.pyโฏ REPLACE-ME
+
+
+
+ gemini +
+ + + + + + + + + +
transformation.pyโฏ REPLACE-ME
vertex_and_google_ai_studio_gemini.pyโฏ REPLACE-ME
+
+
+
+ image_generation +
+ + + + + +
image_generation_handler.pyโฏ REPLACE-ME
+
+
+
+ gemini_embeddings +
+ + + + + + + + + +
batch_embed_content_handler.pyโฏ REPLACE-ME
batch_embed_content_transformation.pyโฏ REPLACE-ME
+
+
+
+ text_to_speech +
+ + + + + +
text_to_speech_handler.pyโฏ REPLACE-ME
+
+
+
+ vertex_ai_partner_models +
+ + + + + +
main.pyโฏ REPLACE-ME
+
+ llama3 +
+ + + + + +
transformation.pyโฏ REPLACE-ME
+
+
+
+ anthropic +
+ + + + + +
transformation.pyโฏ REPLACE-ME
+
+
+
+ ai21 +
+ + + + + +
transformation.pyโฏ REPLACE-ME
+
+
+
+
+
+
+
+ cerebras +
+ + + + + +
chat.pyโฏ REPLACE-ME
+
+
+
+ openai_like +
+ + + + + +
common_utils.pyโฏ REPLACE-ME
+
+ embedding +
+ + + + + +
handler.pyโฏ REPLACE-ME
+
+
+
+
+
+ AI21 +
+ + + + + + + + + +
completion.pyโฏ REPLACE-ME
chat.pyโฏ REPLACE-ME
+
+
+
+ mistral +
+ + + + + + + + + + + + + + + + + +
mistral_embedding_transformation.pyโฏ REPLACE-ME
embedding.pyโฏ REPLACE-ME
chat.pyโฏ REPLACE-ME
mistral_chat_transformation.pyโฏ REPLACE-ME
+
+
+
+ OpenAI +
+ + + + + + + + + + + + + + + + + +
cost_calculation.pyโฏ REPLACE-ME
audio_transcriptions.pyโฏ REPLACE-ME
openai.pyโฏ REPLACE-ME
common_utils.pyโฏ REPLACE-ME
+
+ chat +
+ + + + + + + + + + + + + + + + + +
o1_handler.pyโฏ REPLACE-ME
gpt_audio_transformation.pyโฏ REPLACE-ME
o1_transformation.pyโฏ REPLACE-ME
gpt_transformation.pyโฏ REPLACE-ME
+
+
+
+ completion +
+ + + + + +
utils.pyโฏ REPLACE-ME
+
+
+
+ realtime +
+ + + + + +
handler.pyโฏ REPLACE-ME
+
+
+
+
+
+ sagemaker +
+ + + + + +
sagemaker.pyโฏ REPLACE-ME
+
+
+
+ prompt_templates +
+ + + + + + + + + + + + + +
image_handling.pyโฏ REPLACE-ME
factory.pyโฏ REPLACE-ME
common_utils.pyโฏ REPLACE-ME
+
+
+
+ custom_httpx +
+ + + + + + + + + + + + + +
httpx_handler.pyโฏ REPLACE-ME
types.pyโฏ REPLACE-ME
http_handler.pyโฏ REPLACE-ME
+
+
+
+
+
+ batches +
+ + + + + +
main.pyโฏ REPLACE-ME
+
+
+
+ caching +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
disk_cache.pyโฏ REPLACE-ME
qdrant_semantic_cache.pyโฏ REPLACE-ME
s3_cache.pyโฏ REPLACE-ME
dual_cache.pyโฏ REPLACE-ME
caching.pyโฏ REPLACE-ME
base_cache.pyโฏ REPLACE-ME
in_memory_cache.pyโฏ REPLACE-ME
redis_cache.pyโฏ REPLACE-ME
redis_semantic_cache.pyโฏ REPLACE-ME
caching_handler.pyโฏ REPLACE-ME
+
+
+
+ router_strategy +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
lowest_cost.pyโฏ REPLACE-ME
tag_based_routing.pyโฏ REPLACE-ME
simple_shuffle.pyโฏ REPLACE-ME
lowest_latency.pyโฏ REPLACE-ME
lowest_tpm_rpm.pyโฏ REPLACE-ME
least_busy.pyโฏ REPLACE-ME
lowest_tpm_rpm_v2.pyโฏ REPLACE-ME
+
+
+
+
+
+ +--- +## ๐Ÿš€ Getting Started + +### โ˜‘๏ธ Prerequisites + +Before getting started with litellm, ensure your runtime environment meets the following requirements: + +- **Programming Language:** Python +- **Package Manager:** Pip, Npm, Poetry +- **Container Runtime:** Docker + + +### โš™๏ธ Installation + +Install litellm using one of the following methods: + +**Build from source:** + +1. Clone the litellm repository: +```sh +โฏ git clone https://github.com/BerriAI/litellm +``` + +2. Navigate to the project directory: +```sh +โฏ cd litellm +``` + +3. Install the project dependencies: + + +**Using `pip`**   [](https://pypi.org/project/pip/) + +```sh +โฏ pip install -r requirements.txt, ui/requirements.txt, cookbook/litellm-ollama-docker-image/requirements.txt, litellm/requirements.txt, litellm/deprecated_litellm_server/requirements.txt +``` + +**Using `poetry`**   [](https://python-poetry.org/) + +```sh +โฏ poetry install +``` + + +**Using `docker`**   [](https://www.docker.com/) + +```sh +โฏ docker build -t BerriAI/litellm . +``` + + + + +### ๐Ÿค– Usage +Run litellm using the following command: +**Using `pip`**   [](https://pypi.org/project/pip/) + +```sh +โฏ python {entrypoint} +``` + +**Using `poetry`**   [](https://python-poetry.org/) + +```sh +โฏ poetry run python {entrypoint} +``` + + +**Using `docker`**   [](https://www.docker.com/) + +```sh +โฏ docker run -it {image_name} +``` + + +### ๐Ÿงช Testing +Run the test suite using the following command: +**Using `pip`**   [](https://pypi.org/project/pip/) + +```sh +โฏ pytest +``` + +**Using `poetry`**   [](https://python-poetry.org/) + +```sh +โฏ poetry run pytest +``` + +--- +## ๐Ÿ“Œ Project Roadmap + +- [X] **`Task 1`**: Implement feature one. +- [ ] **`Task 2`**: Implement feature two. +- [ ] **`Task 3`**: Implement feature three. + +--- + +## ๐Ÿ”ฐ Contributing + +- **๐Ÿ’ฌ [Join the Discussions](https://github.com/BerriAI/litellm/discussions)**: Share your insights, provide feedback, or ask questions. +- **๐Ÿ› [Report Issues](https://github.com/BerriAI/litellm/issues)**: Submit bugs found or log feature requests for the `litellm` project. +- **๐Ÿ’ก [Submit Pull Requests](https://github.com/BerriAI/litellm/blob/main/CONTRIBUTING.md)**: Review open PRs, and submit your own PRs. + +
+Contributing Guidelines + +1. **Fork the Repository**: Start by forking the project repository to your github account. +2. **Clone Locally**: Clone the forked repository to your local machine using a git client. + ```sh + git clone https://github.com/BerriAI/litellm + ``` +3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name. + ```sh + git checkout -b new-feature-x + ``` +4. **Make Your Changes**: Develop and test your changes locally. +5. **Commit Your Changes**: Commit with a clear message describing your updates. + ```sh + git commit -m 'Implemented new feature x.' + ``` +6. **Push to github**: Push the changes to your forked repository. + ```sh + git push origin new-feature-x + ``` +7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and their motivations. +8. **Review**: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution! +
+ +
+Contributor Graph +
+

+ + + +

+
+ +--- + +## ๐ŸŽ— License + +This project is protected under the [SELECT-A-LICENSE](https://choosealicense.com/licenses) License. For more details, refer to the [LICENSE](https://choosealicense.com/licenses/) file. + +--- + +## ๐Ÿ™Œ Acknowledgments + +- List any resources, contributors, inspiration, etc. here. + +--- diff --git a/examples/ollama/.gitkeep b/examples/ollama/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/examples/openai/.gitkeep b/examples/openai/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/examples/readme-gemini.md b/examples/readme-gemini.md deleted file mode 100644 index 4053c4b8..00000000 --- a/examples/readme-gemini.md +++ /dev/null @@ -1,441 +0,0 @@ -

- project-logo -

-

-

README-AI

-

-

- Unlock README Potential with AI -

-

- license - last-commit - repo-top-language - repo-language-count -

-

- Developed with the software and tools below. -

-

- GNU%20Bash - tqdm - Pydantic - YAML - Poetry - OpenAI -
- Python - AIOHTTP - Docker - GitHub%20Actions - Pytest - NumPy -

- - -
- Table of Contents - -- [๐Ÿ“ Overview](#-overview) -- [๐Ÿงฉ Features](#-features) -- [๐Ÿ—‚๏ธ Repository Structure](#-repository-structure) -- [๐Ÿ“ฆ Modules](#-modules) -- [๐Ÿš€ Getting Started](#-getting-started) - - [โš™๏ธ Installation](#๏ธ-installation) - - [๐Ÿค– Usage](#-usage) - - [๐Ÿงช Tests](#-tests) -- [๐Ÿ›  Project Roadmap](#-project-roadmap) -- [๐Ÿ”ฐ Contributing](#-contributing) -- [๐Ÿ“„ License](#-license) -- [๐Ÿ‘ Acknowledgments](#-acknowledgments) -
-
- -## ๐Ÿ“ Overview - -Readme-ai is a multifaceted project that empowers developers with the ability to craft impressive and informative READMEs for their repositories automatically. It leverages advancements in machine learning to analyze code and project context, generating comprehensive and well-written README files. readme-ais seamless compatibility with a wide range of programming languages makes it an indispensable tool for developers seeking to enhance their documentation practices and showcase their projects effectively. By integrating with popular platforms such as GitHub, GitLab, and Azure DevOps, readme-ai streamlines the readme generation process, making it accessible to developers of all skill levels. - ---- - -## ๐Ÿงฉ Features - -| | Feature | Description | -|----|-------------------|---------------------------------------------------------------| -| โš™๏ธ | **Architecture** | *Deployed as a Docker image, combining Git, Python, and the readmeai package.* | -| ๐Ÿ”ฉ | **Code Quality** | *Maintained with a focus on code formatting, linting, and testing. Unit tests cover core functionalities.* | -| ๐Ÿ“„ | **Documentation** | *Comprehensive documentation with tutorials and API references available on the project's GitHub page, ensuring easy understanding and usability.* | -| ๐Ÿ”Œ | **Integrations** | *Seamlessly integrates with Git, GitHub Actions, OpenAI GPT-3 for text generation, and Google Cloud Storage for data management.* | -| ๐Ÿงฉ | **Modularity** | *Modular codebase allows for easy extensibility and customization. Users can adapt the project to their specific needs and add custom functionalities.* | -| ๐Ÿงช | **Testing** | *Rigorously tested using Pytest and pytest-xdist for both unit and integration tests, ensuring high code coverage and reliability.* | -| โšก๏ธ | **Performance** | *Optimized for speed and efficiency, with minimal resource usage and quick response times.* | -| ๐Ÿ›ก๏ธ | **Security** | *Protects sensitive data through encryption and access control mechanisms, adhering to industry-standard security best practices.* | -| ๐Ÿ“ฆ | **Dependencies** | *Relies on a curated selection of external libraries and frameworks, including GitDB, Google Cloud Storage, and OpenAI, for enhanced functionality.* | - ---- - -## ๐Ÿ—‚๏ธ Repository Structure - -```sh -โ””โ”€โ”€ readme-ai/ - โ”œโ”€โ”€ .github - โ”œโ”€โ”€ CHANGELOG.md - โ”œโ”€โ”€ CODE_OF_CONDUCT.md - โ”œโ”€โ”€ CONTRIBUTING.md - โ”œโ”€โ”€ Dockerfile - โ”œโ”€โ”€ LICENSE - โ”œโ”€โ”€ Makefile - โ”œโ”€โ”€ README.md - โ”œโ”€โ”€ docs - โ”œโ”€โ”€ examples - โ”œโ”€โ”€ mkdocs.yml - โ”œโ”€โ”€ noxfile.py - โ”œโ”€โ”€ poetry.lock - โ”œโ”€โ”€ pyproject.toml - โ”œโ”€โ”€ readmeai - โ”œโ”€โ”€ scripts - โ”œโ”€โ”€ setup - โ””โ”€โ”€ tests -``` - ---- - -## ๐Ÿ“ฆ Modules - -
. - -| File | Summary | -| --- | --- | -| [Dockerfile](https://github.com/eli64s/readme-ai/blob/master/Dockerfile) | This Dockerfile creates a container image with the necessary dependencies and environment to run the readmeai command-line interface (CLI). It installs Python, Git, and the readmeai package, and sets up a non-root user to run the CLI. | -| [Makefile](https://github.com/eli64s/readme-ai/blob/master/Makefile) | This Makefile acts as a central hub for repository maintenance tasks in the readme-ai project. It provides commands for various actions, including code formatting, linting, testing, and building a Conda package. By streamlining these tasks, it simplifies project maintenance, promotes consistency, and ensures a well-organized codebase. | -| [pyproject.toml](https://github.com/eli64s/readme-ai/blob/master/pyproject.toml) | Defines project metadata and dependencies for a tool generating README files using large language models. | -| [noxfile.py](https://github.com/eli64s/readme-ai/blob/master/noxfile.py) | This file, `noxfile.py`, in the `readme-ai` repository, automates testing using nox and pytest. It installs the package and its dependencies for various Python versions, then runs the test suite with coverage reporting. | - -
- -
setup - -| File | Summary | -| --- | --- | -| [setup.sh](https://github.com/eli64s/readme-ai/blob/master/setup/setup.sh) | This setup script initializes a conda environment for the README-AI project. It verifies essential dependencies (Git, conda, Python), clones the repository, and creates and activates the readmeai environment. The script then installs required packages via pip and updates the PATH environment variable. | -| [requirements.txt](https://github.com/eli64s/readme-ai/blob/master/setup/requirements.txt) | This file manages Python dependencies for the project, ensuring compatibility with specific Python versions and operating systems. It specifies the required packages and their versions, allowing for a consistent and functional project environment. | -| [environment.yaml](https://github.com/eli64s/readme-ai/blob/master/setup/environment.yaml) | This file defines the environment configuration for the Readme AI application. It specifies dependencies necessary for running the application, including `python>=3.9`, `pip`, and packages listed in `requirements.txt`. | - -
- -
scripts - -| File | Summary | -| --- | --- | -| [run_batch.sh](https://github.com/eli64s/readme-ai/blob/master/scripts/run_batch.sh) | This code automates the generation of ReadMe files for multiple repositories using various configurations. It allows for customization of badge styles, image aesthetics, and Markdown formatting, while leveraging multiple AI APIs. | -| [pypi.sh](https://github.com/eli64s/readme-ai/blob/master/scripts/pypi.sh) | Deploys the `readmeai` package to PyPI.**Critical Features:**-Cleans the build environment.-Builds the package.-Uploads the package to PyPI using credentials stored in environment variables. | -| [clean.sh](https://github.com/eli64s/readme-ai/blob/master/scripts/clean.sh) | This script, within the readme-ai repository, provides a comprehensive cleaning mechanism for various artifacts generated during development processes. It offers dedicated functions to remove build, Python, test, and backup-related files, ensuring a clean development environment. | -| [docker.sh](https://github.com/eli64s/readme-ai/blob/master/scripts/docker.sh) | The `scripts/docker.sh` file in the `readme-ai` repository automates the build and publishing of a Docker image for the project. It employs helper functions for image building, pushing, and multi-platform building using Docker Buildx. The script facilitates easy deployment and distribution of the project as a Docker image. | - -
- -
.github - -| File | Summary | -| --- | --- | -| [release-drafter.yml](https://github.com/eli64s/readme-ai/blob/master/.github/release-drafter.yml) | The `.github/release-drafter.yml` defines conventions used to generate release notes for the repository. It categorizes changes into types (e.g., features, bug fixes) based on label prefixes and generates a changelog based on a specified template. | - -
- -
.github.workflows - -| File | Summary | -| --- | --- | -| [coverage.yml](https://github.com/eli64s/readme-ai/blob/master/.github/workflows/coverage.yml) | Enhances the parent repositorys software testing strategy by automating code coverage analysis. Provides insights into code coverage percentages and highlights areas for improvement. | -| [release-pipeline.yml](https://github.com/eli64s/readme-ai/blob/master/.github/workflows/release-pipeline.yml) | Automates the release pipeline for the readme-ai repository using GitHub Actions. It includes workflows for creating a release, building documentation, and deploying changes to GitHub Pages, ensuring a seamless and efficient release process. | -| [release-drafter.yml](https://github.com/eli64s/readme-ai/blob/master/.github/workflows/release-drafter.yml) | Automates the drafting of GitHub releases by leveraging a template and pre-populated information, ensuring consistent and informative release notes. | - -
- -
readmeai - -| File | Summary | -| --- | --- | -| [readmeai.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/readmeai.py) | This code orchestrates the generation of a README file based on user inputs and configuration. It interacts with a language model to generate summaries, overviews, and slogans that enhance the READMEs content. The code reads from a user-specified repository, processes dependencies, and incorporates user-provided customization options to craft a tailored README. | -| [exceptions.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/exceptions.py) | This Python code defines a set of custom exception classes for the Readme-AI application. It encompasses exceptions for issues encountered during CLI operations, Git cloning and validation, file system operations (read and write errors), readme generation, and unsupported LLM services. These exceptions are used to handle errors and provide meaningful messages to users. | - -
- -
readmeai.parsers - -| File | Summary | -| --- | --- | -| [factory.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/factory.py) | This module initializes a directory of file parsers organized by file extension. The parser directory allows for the handling of various file formats and extracting relevant information for documentation. | - -
- -
readmeai.parsers.configuration - -| File | Summary | -| --- | --- | -| [ansible.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/configuration/ansible.py) | The `ansible.py` file parses Ansible configuration files, including `playbook.yml` and `ansible/site.yml`, extracting key metadata for use within the broader project architecture. | -| [properties.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/configuration/properties.py) | Parse.properties configuration files to extract key names.**Critical Features-Extracts JDBC connection strings.-Identifies other package names from key-value pairs. | -| [apache.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/configuration/apache.py) | The `apache.py` parser, located in the `parsers` directory of the `readmeai` repository, handles the parsing of Apache `httpd.conf` configuration files. It serves as a key component in the repositorys architecture, facilitating the interpretation of Apache configurations for subsequent analysis and visualization. | -| [docker.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/configuration/docker.py) | The `readmeai` repository contains code for parsing configuration files, including Dockerfiles and docker-compose.yaml files. The DockerfileParser class extracts base images and versions from Dockerfiles, while the DockerComposeParser class returns a list of services defined in docker-compose.yaml. These parsers are part of the readmeai core parsing framework. | -| [nginx.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/configuration/nginx.py) | The Nginx parser in `readmeai/parsers/configuration/nginx.py` extracts configuration data from Nginx configuration files (nginx.conf). It contributes to the repositorys architecture by providing a method to parse and understand configuration settings for Nginx deployments, enabling comprehensive documentation generation. | - -
- -
readmeai.parsers.language - -| File | Summary | -| --- | --- | -| [cpp.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/language/cpp.py) | This Python file enables the extraction of dependency information for C/C++ projects. It offers three parsers to parse various file formats, like CMakeLists.txt, configure.ac, and Makefile.am, to detect dependencies, libraries, and packages. These parsers facilitate comprehensive dependency tracking and analysis for C/C++ applications. | -| [swift.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/language/swift.py) | Section. | -| [python.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/language/python.py) | Parses `Requirements.txt`, `pyproject.toml`, `environment.yml` to extract package names, excluding version specifiers. Supports major packaging systems like Pipenv and Poetry. | -| [go.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/language/go.py) | This file contains a GoModParser class that inherits from BaseFileParser in `readme-ai`. Its designed to parse `requirements.txt` files and extract Python package names from them. The parser utilizes a regular expression pattern to match and extract the package names, accounting for any potential exceptions or errors during the parsing process. | -| [rust.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/language/rust.py) | Parses Rust cargo.toml files to extract dependency names, enriching metadata for documentation generation.**Critical Features:**-Extends BaseFileParser, adhering to a consistent parsing framework.-Handles parsing errors gracefully, logging them for further analysis. | - -
- -
readmeai.parsers.cicd - -| File | Summary | -| --- | --- | -| [bitbucket.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/cicd/bitbucket.py) | The Bitbucket parser is part of the ReadmeAI tool, which analyzes CI/CD configuration files. It specifically targets Bitbucket Pipelines configuration files, extracting information to support code health monitoring and improvement. | -| [travis.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/cicd/travis.py) | This parser parses `.travis.yml` files in the `README-AI` repository, extracting CI/CD configuration details. It aids in providing insights into the repositorys CI/CD pipeline. | -| [gitlab.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/cicd/gitlab.py) | In the context of the readme-ai codebase, the gitlab.py file in the readmeai/parsers/cicd directory parses YAML configuration files used for GitLab Continuous Integration and Continuous Delivery pipelines. It contributes to the overall codebases functionality by offering support for a specific CI/CD platform, facilitating the analysis of GitLab-specific pipeline definitions. | -| [jenkins.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/cicd/jenkins.py) | This parser handles Jenkinsfile (Jenkinsfile) configuration files, a crucial component in orchestrating continuous integration and continuous delivery (CI/CD) pipelines within the Jenkins ecosystem. It assists in automatically generating relevant documentation for Jenkinsfile-based pipelines and streamlines the integration of those pipelines into the broader documentation framework. | -| [github.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/cicd/github.py) | Parses GitHub Actions configuration files (.github/workflows/).**Critical Features:**-Extracts workflow names, triggers, and jobs.-Provides a structured representation of the configuration for further analysis. | -| [circleci.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/cicd/circleci.py) | The `circleci.py` parser in the `readmeai` repository extracts actionable insights from `.circleci/config.yml` configuration files. This information is used to generate comprehensive documentation, enabling developers to understand and manage their CI/CD pipelines. | - -
- -
readmeai.parsers.orchestration - -| File | Summary | -| --- | --- | -| [kubernetes.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/orchestration/kubernetes.py) | The `kubernetes.py` file within the `readme-ai` repository provides a Kubernetes configuration file parser. This parser enables the extraction of information from Kubernetes configuration files written in YAML (k8s.yml) format. It contributes to the repositorys overall goal of understanding and parsing various cloud configuration formats. | - -
- -
readmeai.parsers.infrastructure - -| File | Summary | -| --- | --- | -| [terraform.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/infrastructure/terraform.py) | Parses Terraform Configuration:** Analyzes `main.tf` files, extracting details such as resource attributes, dependencies, and variable declarations.-**Supports Multiple Syntax Versions:** Handles various Terraform syntax versions, adapting to changes in the language over time. | -| [cloudformation.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/infrastructure/cloudformation.py) | The `cloudformation.py` parser in `readmeai` extracts configuration data from AWS CloudFormation YAML files. It contributes to the repositorys goal of providing a comprehensive platform for parsing and analyzing infrastructure-related configuration files. | - -
- -
readmeai.parsers.package - -| File | Summary | -| --- | --- | -| [composer.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/package/composer.py) | The `composer.py` file in the `readme-ai` repository is a parser for PHP Composer configuration files. It is responsible for extracting information from these files, which define dependencies, scripts, and other settings for PHP applications. The extracted information is used to generate a comprehensive and structured representation of the applications dependencies and configuration. | -| [npm.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/package/npm.py) | This file contains parsers for `package.json` and `yarn.lock` files. It extracts dependencies from JSON-formatted `package.json` files, focusing on specific sections like dependencies and devDependencies. For `yarn.lock` files, it uses regular expressions to identify package names. These parsers inherit from a base parser class for error handling. | -| [gradle.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/package/gradle.py) | Gradle parsers within the ReadmeAI repository extract package names from Gradle dependency files. They support both build.gradle and build.gradle.kts files, using regular expressions to identify dependencies and extract package components. | -| [nuget.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/package/nuget.py) | The `nuget.py` file in the `readmeai` repository parses NuGet.Config configuration files (.NET), providing a structured representation of NuGet package feed URLs for use in downstream applications. | -| [yarn.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/package/yarn.py) | Parses `yarn.lock` files to extract package names.**Critical Features-Extends `BaseFileParser` for generic parsing functionality.-Uses regex to extract package names from the `yarn.lock` file.-Handles parsing errors and provides error messages. | -| [pip.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/package/pip.py) | In the context of its parent repository, `pip.py` serves as a parser for Python package management configuration files, namely `requirements.txt` and `Pipfile`. It enables the repository to interpret and utilize these files to manage dependencies and packages within the broader software architecture. | -| [maven.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/package/maven.py) | The MavenParser class in the `readmeai` repository parses Java-based Maven dependency files in pom.xml format. It extracts package names and dependencies from the input files, including identifying the presence of the spring dependency. The extracted dependencies are then returned as a set of unique names. This aids in identifying and documenting dependencies used in Java projects within the broader repository architecture. | -| [gem.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/parsers/package/gem.py) | The `gem.py` file in the `readmeai` repository parses `Gemfile.lock` configuration files in Ruby. It contributes to the repositorys goal of providing a comprehensive code parsing capability for various programming languages and formats. | - -
- -
readmeai.core - -| File | Summary | -| --- | --- | -| [models.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/core/models.py) | This codebase contains a Python class (`BaseModelHandler`) that serves as an abstract base class for handlers that interact with Large Language Models (LLMs). Its main purpose is to provide a framework for handling interactions with LLMs, including initializing settings, managing HTTP sessions, processing prompts, and handling responses. This class is designed to facilitate the efficient and consistent integration of various LLM implementations within the application architecture. | -| [preprocess.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/core/preprocess.py) | The `preprocess.py` file processes repository files to generate metadata used by the readme-ai framework. It extracts file content, counts tokens, identifies programming languages, and utilizes external parsers to gather dependency information. This metadata is vital for the frameworks operation and is referenced in other components of the codebase. | -| [parsers.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/core/parsers.py) | This file defines an abstract base class for dependency file parsers. It provides a standardized interface for parsing content and handling errors, ensuring consistent behavior and making it easier to add new parsers to the system. | -| [utils.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/core/utils.py) | Utility functions for the readme-ai CLI application.**Critical Features-File filtering based on user-provided rules-Configuring the LLM environment based on specified service or environment variables | - -
- -
readmeai.config - -| File | Summary | -| --- | --- | -| [enums.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/config/enums.py) | Git service (e.g., GitHub, GitLab)-Badge icons (e.g., flat, plastic)-Header images (e.g., custom, default)-LLM API key (e.g., OpenAI, VertexAI)-LLM environment variables (e.g., OPENAI_API_KEY) | -| [validators.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/config/validators.py) | This code validates user-provided Git repository settings. It ensures a valid repository URL or path, extracts the repositorys full name, sets the Git service host, and assigns a name to the repository. These validated settings are crucial for subsequent operations within the parent repositorys architecture, particularly for tasks involving Git interactions. | -| [utils.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/config/utils.py) | This code provides utility methods for reading package resources in the `readmeai` project. It leverages `importlib.resources` for accessing TOML and JSON files. If it encounters any errors, it uses `pkg_resources` as a fallback. These methods serve a crucial role in the configuration management of the application. | -| [settings.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/config/settings.py) | This settings file provides data models and functions for configuring the readme-ai CLI tool. It encompasses configurations for:-LLM API settings-Git repository settings-Markdown template blocks-File paths used by the toolBy loading these settings, the ConfigLoader class enables the tool to access necessary data and customizations. | - -
- -
readmeai.config.settings - -| File | Summary | -| --- | --- | -| [prompts.toml](https://github.com/eli64s/readme-ai/blob/master/readmeai/config/settings/prompts.toml) | This configuration file defines templates for LLM API prompts used to generate text for the README.md file. Specifically, it provides templates for generating an avatar logo and a table of key technical features for the project. | -| [parsers.toml](https://github.com/eli64s/readme-ai/blob/master/readmeai/config/settings/parsers.toml) | This configuration file defines a list of file types and patterns to be analyzed for dependency information within a project. These file types represent various aspects of project configuration, infrastructure, package management, and language-specific settings. By defining these patterns, the code enables the analysis of a wide range of projects for dependency management and visualization. | -| [ignore_list.toml](https://github.com/eli64s/readme-ai/blob/master/readmeai/config/settings/ignore_list.toml) | Within the repositorys architecture, the `ignore_list.toml` file plays a crucial role in preprocessing. It defines directories, file extensions, and specific files to exclude. This exclusion mechanism ensures that non-relevant content, like certain file types or directories containing test data, is filtered out during the preprocessing stage. | -| [languages.toml](https://github.com/eli64s/readme-ai/blob/master/readmeai/config/settings/languages.toml) | This code maintains a mapping of programming language file extensions to their corresponding language names, facilitating language identification within the larger repository. | -| [config.toml](https://github.com/eli64s/readme-ai/blob/master/readmeai/config/settings/config.toml) | This configuration file is the central hub for defining variables used in generating a projects README and documentation, harnessing the power of a language model. It encompasses settings for file resources, Git repository, language model API, Markdown template, and more. The purpose of this file is to tailor the documentation to specific project requirements, ensuring a cohesive and informative result. | -| [markdown.toml](https://github.com/eli64s/readme-ai/blob/master/readmeai/config/settings/markdown.toml) | This `markdown.toml` file defines templates for constructing a README.md file using Markdown. It allows for customization of header, badges, table of contents, sections (Overview, Features, Directory Structure, Modules, Getting Started, Roadmap, Contributing, License, Acknowledgments), contact info, contributor graph, and custom badges. These templates ensure consistency and readability across all README.md files within the repository. | -| [commands.toml](https://github.com/eli64s/readme-ai/blob/master/readmeai/config/settings/commands.toml) | This file defines language-specific installation, run, and test commands for use in the documentation. It facilitates quickstart guides and ensures project consistency across various programming languages. | - -
- -
readmeai.ingestion./summary> - -| File | Summary | -| --- | --- | -| [formatter.py](https://github.com/eli64s/readme-ai/blob/master/readmeai.ingestion.formatter.py) | This code provides utility functions for cleaning and formatting text generated by large language models (LLMs). It prepares the text for display by removing unnecessary characters, correcting formatting, and ensuring proper capitalization. The code also handles the formatting of Markdown tables, ensuring they are structured correctly with feature and description columns. The formatted response is returned, ready for presentation. | -| [file_handler.py](https://github.com/eli64s/readme-ai/blob/master/readmeai.ingestion.file_handler.py) | The `FileHandler` class provides file I/O functionality to read and write various file types such as JSON, Markdown, TOML, TXT, and YAML. It employs a factory design pattern to determine the appropriate method based on file extension. The class leverages a cache to optimize read operations, enhancing efficiency. | -| [logger.py](https://github.com/eli64s/readme-ai/blob/master/readmeai.ingestion.logger.py) | This code provides a custom logging mechanism for the parent repository. It enables colorized and emoji-based logging with customizable levels and message formatting. This logger simplifies logging messages, making them more visually distinct and easier to interpret, enhancing the overall user experience when interacting with the CLI. | - -
- -
readmeai.models - -| File | Summary | -| --- | --- | -| [offline.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/models/offline.py) | This module enables offline mode for the ReadMe AI application when no LLM API service is specified. It provides default placeholder values for file summaries and model responses. | -| [vertex.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/models/vertex.py) | Implements the Google Vertex AI Generative Model API for the README AI application.**Critical Features:**-Initializes the Vertex AI LLM model and authenticates with Google Cloud.-Handles API responses and formats generated text.-Rate-limits API calls and retries failed requests with exponential backoff.-Provides async context manager for HTTP client management. | -| [tokens.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/models/tokens.py) | This file provides tokenization utilities for the CLI application. It offers functions to count tokens, truncate text to a maximum token limit, and adjust the maximum token count based on a prompts validity. | -| [factory.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/models/factory.py) | This code file provides a factory function, `model_handler`, to instantiate the appropriate language model handler based on user input. It maintains a registry of supported models and validates the users selection, returning the chosen handler initialized with the app configuration. | -| [prompts.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/models/prompts.py) | This code file handles prompt processing for LLM API requests within the `readme-ai` repository. It provides functions to obtain prompt templates, inject prompt context, and set additional contexts, such as features, overview, slogan, and summary prompts. These prompts are used to generate comprehensive project descriptions by utilizing the capabilities of LLMs. | -| [openai.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/models/openai.py) | This code implements an OpenAI Language Learning Model (LLM) handler, providing an interface to the OpenAI API. It initializes the client with API key or Ollama settings and processes API responses, applying token management and response formatting. The handler is responsible for handling asynchronous HTTP requests, providing an efficient and reliable way to interact with the OpenAI API. | - -
- -
readmeai.cli - -| File | Summary | -| --- | --- | -| [options.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/cli/options.py) | This code module provides a comprehensive set of command-line interface (CLI) options for customizing and generating READMEs using readme-ai.**Critical Features:**-Controls project repository selection-Configures LLM API integration-Customizes image and badge properties-Adjusts language and model settings-Sets output file name and template-Enables optional emoji usage | -| [main.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/cli/main.py) | The main.py" file serves as the entry point for the readme-ai CLI application. It allows users to configure various options, such as align, badge styles, and language, to generate and customize readme files based on a provided repository. | - -
- -
readmeai.generators - -| File | Summary | -| --- | --- | -| [tree.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/generators/tree.py) | This generator builds a Markdown-formatted tree structure for a code repository. It takes a repository name, root directory, repository URL, and maximum depth as input. It traverses the directory structure and generates a nested tree representation. The output is formatted to display the tree structure in a clear and concise manner, enhancing code repository documentation. | -| [builder.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/generators/builder.py) | The builder.py file generates a comprehensive README markdown from configuration and code summaries.**Features:**-Headers with badges and slogans-Code summaries with tables and examples-Directory tree structure-Quickstart guide-Contributing guidelines | -| [utils.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/generators/utils.py) | Removing default emojis from Markdown content.-Splitting Markdown documents into sections based on level 2 headings.-Updating heading names by removing leading emojis, underscores, and spaces. | -| [badges.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/generators/badges.py) | Metadata badges using `shields.io` and skill icons from `skill-icons`. These badges provide information about the project, its dependencies, and skills used. | -| [tables.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/generators/tables.py) | This code in `readmeai/generators/tables.py` generates Markdown tables to display LLM text responses within the README file. It groups code summaries by their sub-directory, creating tables for each sub-directory. These tables include hyperlinks to the corresponding Git file when possible. | -| [quickstart.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/generators/quickstart.py) | The `quickstart.py` script generates the Quick Start section of a project's README file. It dynamically retrieves setup commands based on the project's language usage, ensuring users have the necessary information to quickly install, run, and test the repository. | - -
- -
readmeai.services - -| File | Summary | -| --- | --- | -| [git.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/services/git.py) | The `git.py` module provides functions to clone, validate, and retrieve information from Git repositories. Key tasks:-Clone a repository to a temporary directory.-Remove hidden files and directories to improve readability.-Determine the Git service (e.g., GitHub, GitLab) and retrieve the API URL.-Find the URL of a file within a remote repository.-Validate file permissions to ensure correct access. | -| [metadata.py](https://github.com/eli64s/readme-ai/blob/master/readmeai/services/metadata.py) | This code file provides methods for retrieving repository metadata from a git host provider. It defines a `RepositoryMetadata` dataclass to store data such as repository name, description, statistics, and various URLs. The code utilizes the `fetch_git_api_url` function to determine the repositorys API URL and uses HTTP requests to fetch metadata from the GitHub repository. | - -
- ---- - -## ๐Ÿš€ Getting Started - -**System Requirements** - -* **Python**: `version x.y.z` - -### โš™๏ธ Installation - -

From source

- -> 1. Clone the readme-ai repository: -> -> ```console -> $ git clone https://github.com/eli64s/readme-ai -> ``` -> -> 2. Change to the project directory: -> ```console -> $ cd readme-ai -> ``` -> -> 3. Install the dependencies: -> ```console -> $ pip install -r requirements.txt -> ``` - -### ๐Ÿค– Usage - -

From source

- -> Run readme-ai using the command below: -> ```console -> $ python main.py -> ``` - -### ๐Ÿงช Tests - -> Run the test suite using the command below: -> ```console -> $ pytest -> ``` - ---- - -## ๐Ÿ›  Project Roadmap - -- [X] `โ–บ INSERT-TASK-1` -- [ ] `โ–บ INSERT-TASK-2` -- [ ] `โ–บ ...` - ---- - -## ๐Ÿ”ฐ Contributing - -Contributions are welcome! Here are several ways you can contribute: - -- **[Report Issues](https://github.com/eli64s/readme-ai/issues)**: Submit bugs found or log feature requests for the `readme-ai` project. -- **[Submit Pull Requests](https://github.com/eli64s/readme-ai/blob/main/CONTRIBUTING.md)**: Review open PRs, and submit your own PRs. -- **[Join the Discussions](https://github.com/eli64s/readme-ai/discussions)**: Share your insights, provide feedback, or ask questions. - -
-Contributing Guidelines - -1. **Fork the Repository**: Start by forking the project repository to your github account. -2. **Clone Locally**: Clone the forked repository to your local machine using a git client. - ```sh - git clone https://github.com/eli64s/readme-ai - ``` -3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name. - ```sh - git checkout -b new-feature-x - ``` -4. **Make Your Changes**: Develop and test your changes locally. -5. **Commit Your Changes**: Commit with a clear message describing your updates. - ```sh - git commit -m 'Implemented new feature x.' - ``` -6. **Push to github**: Push the changes to your forked repository. - ```sh - git push origin new-feature-x - ``` -7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and their motivations. -8. **Review**: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution! -
- -
-Contributor Graph -
-

- - - -

-
- ---- - -## ๐Ÿ“„ License - -This project is protected under the [SELECT-A-LICENSE](https://choosealicense.com/licenses) License. For more details, refer to the [LICENSE](https://choosealicense.com/licenses/) file. - ---- - -## ๐Ÿ‘ Acknowledgments - -- List any resources, contributors, inspiration, etc. here. - -[**Return**](#-overview) - ---- diff --git a/examples/readme-header-padded.md b/examples/readme-header-padded.md deleted file mode 100644 index 47f218b2..00000000 --- a/examples/readme-header-padded.md +++ /dev/null @@ -1,250 +0,0 @@ -[]() - -# `PYFLINK-POC` - -#### Streamlining data flow, empowering seamless integration. - -

- license - last-commit - repo-top-language - repo-language-count -

-

- Built with the tools and technologies: -

-

- GNU%20Bash - Apache%20Flink - YAML - Python - AIOHTTP - Apache%20Kafka - pandas -

- -
- -
Table of Contents - -- [๐Ÿ“ Overview](#-overview) -- [๐Ÿ‘พ Features](#-features) -- [๐Ÿ“‚ Repository Structure](#-repository-structure) -- [๐Ÿงฉ Modules](#-modules) -- [๐Ÿš€ Getting Started](#-getting-started) - - [๐Ÿ”– Prerequisites](#-prerequisites) - - [๐Ÿ“ฆ Installation](#-installation) - - [๐Ÿค– Usage](#-usage) - - [๐Ÿงช Tests](#-tests) -- [๐Ÿ“Œ Project Roadmap](#-project-roadmap) -- [๐Ÿ”ฐ Contributing](#-contributing) -- [๐ŸŽ— License](#-license) -- [๐Ÿ™Œ Acknowledgments](#-acknowledgments) - -
-
- -## ๐Ÿ“ Overview - -The pyflink-poc project is a comprehensive solution that seamlessly integrates Apache Flink, Apache Kafka, and PyFlink for efficient stream processing. It offers streamlined setup and execution through scripts like run.sh and clean.sh, ensuring a tidy repository structure. Key components like alerts_handler.py and consumer.py handle batch alert processing and data stream management, respectively. With centralized configuration files and enhanced logging capabilities, pyflink-poc simplifies Flink application development and maintenance, making it a valuable tool for real-time data processing projects. - ---- - -## ๐Ÿ‘พ Features - -| | Feature | Description | -|----|-------------------|---------------------------------------------------------------| -| โš™๏ธ | **Architecture** | The project has a modular architecture leveraging Apache Flink for stream processing. It integrates with Apache Kafka for data ingestion and processing. The codebase is structured with clear separation of concerns for different components. | -| ๐Ÿ”ฉ | **Code Quality** | The codebase maintains good quality and follows a consistent style. It includes clear variable naming, proper documentation, and adheres to PEP8 standards. Code reviews and linting tools are used to ensure high quality. | -| ๐Ÿ“„ | **Documentation** | The project provides extensive documentation covering setup, configuration, usage, and code structure. README, inline comments, and configuration files are well-documented, aiding developers in understanding and contributing to the project. | -| ๐Ÿ”Œ | **Integrations** | Key integrations include PyFlink, Apache Kafka, and aiohttp for asynchronous communication. External dependencies like pandas, asyncio, and aioresponses are used for seamless integration within the architecture. | -| ๐Ÿงฉ | **Modularity** | The codebase exhibits good modularity with separate modules for handling alerts, logging, and data processing. Components are designed for reusability and maintainability, promoting a scalable and extensible architecture. | -| ๐Ÿงช | **Testing** | The project utilizes testing frameworks like pytest for unit and integration testing. Tests cover critical components such as alert handling, data processing, and stream processing logic, ensuring code reliability and functionality. | -| โšก๏ธ | **Performance** | The project demonstrates efficient resource usage and speed in stream processing tasks. Utilization of Apache Flink and optimized configurations in Flink cluster settings contribute to high performance and scalability. | -| ๐Ÿ›ก๏ธ | **Security** | Security measures include data protection through serialization using Apache Avro and access control mechanisms for external API communication. Secure coding practices are followed to prevent vulnerabilities and ensure data integrity. | -| ๐Ÿ“ฆ | **Dependencies** | Key dependencies include pandas, asyncio, aiohttp, Apache Flink, Apache Kafka, and PyFlink. These libraries enable seamless integration and functionality within the project's architecture. | -| ๐Ÿš€ | **Scalability** | The project demonstrates scalability with the ability to handle increased traffic and load through Apache Flink's distributed processing capabilities. Configurable parallelism settings and fault tolerance mechanisms support scalability requirements. | - ---- - -## ๐Ÿ“‚ Repository Structure - -```sh -โ””โ”€โ”€ pyflink-poc/ - โ”œโ”€โ”€ README.md - โ”œโ”€โ”€ conf - โ”‚ โ”œโ”€โ”€ conf.toml - โ”‚ โ””โ”€โ”€ flink-config.yaml - โ”œโ”€โ”€ data - โ”‚ โ””โ”€โ”€ data.csv - โ”œโ”€โ”€ requirements.txt - โ”œโ”€โ”€ scripts - โ”‚ โ”œโ”€โ”€ clean.sh - โ”‚ โ””โ”€โ”€ run.sh - โ”œโ”€โ”€ setup - โ”‚ โ””โ”€โ”€ setup.sh - โ”œโ”€โ”€ setup.py - โ””โ”€โ”€ src - โ”œโ”€โ”€ alerts_handler.py - โ”œโ”€โ”€ consumer.py - โ””โ”€โ”€ logger.py -``` - ---- - -## ๐Ÿงฉ Modules - -
. - -| File | Summary | -| --- | --- | -| [requirements.txt](https://github.com/eli64s/pyflink-poc/blob/main/requirements.txt) | Enables project dependencies like pandas, asyncio, aiohttp, aioresponses, Apache Flink, Apache Kafka, and PyFlink for seamless integration within the repositorys architecture. | -| [setup.py](https://github.com/eli64s/pyflink-poc/blob/main/setup.py) | Defines package dependencies and configurations for the project. Sets up STREAM-ON with required packages and optional dev/test tools. Organizes project structure and enhances development workflow. | - -
- -
setup - -| File | Summary | -| --- | --- | -| [setup.sh](https://github.com/eli64s/pyflink-poc/blob/main/setup/setup.sh) | Checks/install Java 11, Python 3.7, Conda; downloads/extracts PyFlink; sets environment variables; creates aliases for zsh. Enhances PyFlink development workflow by streamlining environment configuration. | - -
- -
scripts - -| File | Summary | -| --- | --- | -| [run.sh](https://github.com/eli64s/pyflink-poc/blob/main/scripts/run.sh) | Initiates Flink cluster, executes PyFlink job, and halts Flink cluster. Orchestrates cluster operations for PyFlink job execution. | -| [clean.sh](https://github.com/eli64s/pyflink-poc/blob/main/scripts/clean.sh) | Cleans up project artifacts and cache files, ensuring a tidy repository structure. Removes temporary files, Python cache, build artifacts, Jupyter notebook checkpoints, and pytest cache, enhancing project cleanliness and organization. | - -
- -
conf - -| File | Summary | -| --- | --- | -| [flink-config.yaml](https://github.com/eli64s/pyflink-poc/blob/main/conf/flink-config.yaml) | Defines Flink cluster configuration settings for JobManager, TaskManager, High Availability, parallelism, state backend, and logging. Crucial for optimizing resource allocation, fault tolerance, and logging verbosity in the Flink application. | -| [conf.toml](https://github.com/eli64s/pyflink-poc/blob/main/conf/conf.toml) | Defines Kafka and Flink configuration constants for the parent repository. Specifies Kafka bootstrap servers and topic, as well as Flink job manager and parallelism settings. Crucial for maintaining consistent configurations across the project. | - -
- -
src - -| File | Summary | -| --- | --- | -| [alerts_handler.py](https://github.com/eli64s/pyflink-poc/blob/main/src/alerts_handler.py) | Handles sending alerts to an external API in batches, serializing data using Apache Avro. Manages a buffer for efficient batch processing and utilizes aiohttp for asynchronous communication. Key components include alert serialization, buffer management, and batch sending logic. | -| [logger.py](https://github.com/eli64s/pyflink-poc/blob/main/src/logger.py) | Enables logging with colored output for the project. Initializes a logger with specified name and level, configuring it to display log messages in different colors based on severity. Provides methods for logging at different levels. | -| [consumer.py](https://github.com/eli64s/pyflink-poc/blob/main/src/consumer.py) | Implements data stream processing with Flink, creating tables, views, and processing flagged records for alerts. Orchestrates the stream processing engine with event time characteristics and fault tolerance mechanisms. | - -
- ---- - -## ๐Ÿš€ Getting Started - -### ๐Ÿ”– Prerequisites - -**Python**: `version x.y.z` - -### ๐Ÿ“ฆ Installation - -Build the project from source: - -1. Clone the pyflink-poc repository: -```sh -โฏ git clone https://github.com/eli64s/pyflink-poc -``` - -2. Navigate to the project directory: -```sh -โฏ cd pyflink-poc -``` - -3. Install the required dependencies: -```sh -โฏ pip install -r requirements.txt -``` - -### ๐Ÿค– Usage - -To run the project, execute the following command: - -```sh -โฏ python main.py -``` - -### ๐Ÿงช Tests - -Execute the test suite using the following command: - -```sh -โฏ pytest -``` - ---- - -## ๐Ÿ“Œ Project Roadmap - -- [X] **`Task 1`**: Implement feature one. -- [ ] **`Task 2`**: Implement feature two. -- [ ] **`Task 3`**: Implement feature three. - ---- - -## ๐Ÿ”ฐ Contributing - -Contributions are welcome! Here are several ways you can contribute: - -- **[Report Issues](https://github.com/eli64s/pyflink-poc/issues)**: Submit bugs found or log feature requests for the `pyflink-poc` project. -- **[Submit Pull Requests](https://github.com/eli64s/pyflink-poc/blob/main/CONTRIBUTING.md)**: Review open PRs, and submit your own PRs. -- **[Join the Discussions](https://github.com/eli64s/pyflink-poc/discussions)**: Share your insights, provide feedback, or ask questions. - -
-Contributing Guidelines - -1. **Fork the Repository**: Start by forking the project repository to your github account. -2. **Clone Locally**: Clone the forked repository to your local machine using a git client. - ```sh - git clone https://github.com/eli64s/pyflink-poc - ``` -3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name. - ```sh - git checkout -b new-feature-x - ``` -4. **Make Your Changes**: Develop and test your changes locally. -5. **Commit Your Changes**: Commit with a clear message describing your updates. - ```sh - git commit -m 'Implemented new feature x.' - ``` -6. **Push to github**: Push the changes to your forked repository. - ```sh - git push origin new-feature-x - ``` -7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and their motivations. -8. **Review**: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution! -
- -
-Contributor Graph -
-

- - - -

-
- ---- - -## ๐ŸŽ— License - -This project is protected under the [SELECT-A-LICENSE](https://choosealicense.com/licenses) License. For more details, refer to the [LICENSE](https://choosealicense.com/licenses/) file. - ---- - -## ๐Ÿ™Œ Acknowledgments - -- List any resources, contributors, inspiration, etc. here. - ---- diff --git a/examples/readme-java.md b/examples/readme-java.md deleted file mode 100644 index 9c137006..00000000 --- a/examples/readme-java.md +++ /dev/null @@ -1,326 +0,0 @@ -

- -

-

-

MINIMAL-TODO

-

-

- Minimal-Todo: Simplify your tasks, maximize productivity! -

-

- license - last-commit - repo-top-language - repo-language-count -

-

- Developed with the software and tools below. -

-

- Google - Android - GitHub - Gradle - java - JSON -

-
- -## Quick Links - -> - [ Overview](#-overview) -> - [ Features](#-features) -> - [ Repository Structure](#-repository-structure) -> - [ Modules](#-modules) -> - [ Getting Started](#-getting-started) -> - [ Installation](#-installation) -> - [ Running Minimal-Todo](#-running-Minimal-Todo) -> - [ Tests](#-tests) -> - [ Project Roadmap](#-project-roadmap) -> - [ Contributing](#-contributing) -> - [ License](#-license) -> - [ Acknowledgments](#-acknowledgments) - ---- - -## Overview - -Minimal-Todo is a minimalist to-do list app that helps users stay organized and productive. Its core functionalities include creating, editing, and managing to-do items, setting reminders for important tasks, and customizing the app's appearance through theme selection. With features like animation, clipboard management, and context handling, Minimal-Todo aims to provide a seamless user experience. The app also supports night mode and offers analytics tracking to help users understand their productivity patterns. Overall, Minimal-Todo enables users to prioritize and track their tasks efficiently, making it a valuable tool for personal and professional productivity. - ---- - -## Features - -| | Feature | Description | -|----|-------------------|---------------------------------------------------------------| -| โš™๏ธ | **Architecture** | The project follows a standard Android application architecture with separate modules for different components. It uses the Model-View-Presenter (MVP) design pattern to separate business logic from presentation. It also utilizes various Android components such as Activities, Fragments, and Services to implement the necessary functionality. | -| ๐Ÿ”ฉ | **Code Quality** | The codebase demonstrates good coding practices, adhering to the Android code style guidelines. It follows a modular approach, making the codebase easy to read, understand, and maintain. Proper naming conventions and documentation enhance code readability. | -| ๐Ÿ“„ | **Documentation** | The project includes a reasonable amount of documentation, such as comments and README files, to explain the purpose and usage of the code. Although not extensive, the provided documentation is sufficient for developers to understand the codebase and its components. | -| ๐Ÿ”Œ | **Integrations** | The project integrates with various external dependencies, including Google services (Google Analytics and Google Play Services). It also relies on libraries such as ButterKnife for view binding, Gson for JSON parsing, and JUnit for unit testing. | -| ๐Ÿงฉ | **Modularity** | The codebase demonstrates good modularity, separating different components into their respective modules. This modular approach allows for easy reusability and maintainability of code. Each module focuses on a specific functionality, making it easier to understand and modify. | -| ๐Ÿงช | **Testing** | The project includes unit tests using JUnit to verify the functionality of individual classes. It also includes Android instrumentation tests using Espresso for UI testing. The tests cover important features such as data storage, JSON conversion, and user interactions. | -| โšก๏ธ | **Performance** | The project is designed to be efficient and responsive, with no noticeable performance issues. It utilizes background services and alarms to efficiently handle reminders and notifications. Proper use of RecyclerViews and optimized data storage further enhances the app's performance. | -| ๐Ÿ›ก๏ธ | **Security** | The project includes basic security measures for data protection, such as storing data in a private file and using encryption. It also ensures access controls by only allowing authorized users to perform certain actions. However, the codebase does not implement advanced security features like authentication or authorization. | -| ๐Ÿ“ฆ | **Dependencies** | Key external libraries and dependencies used in the project include ButterKnife for view binding, Gson for JSON parsing, Google Play Services for Google Analytics, and JUnit for unit testing. These dependencies provide necessary functionality and enhance development efficiency. | - - ---- - -## Repository Structure - -```sh -โ””โ”€โ”€ Minimal-Todo/ - โ”œโ”€โ”€ Contributing.md - โ”œโ”€โ”€ LICENSE.md - โ”œโ”€โ”€ README.md - โ”œโ”€โ”€ app - โ”‚ โ”œโ”€โ”€ .gitignore - โ”‚ โ”œโ”€โ”€ app-release.apk - โ”‚ โ”œโ”€โ”€ app.iml - โ”‚ โ”œโ”€โ”€ build.gradle - โ”‚ โ”œโ”€โ”€ google-services.json - โ”‚ โ”œโ”€โ”€ proguard-rules.pro - โ”‚ โ””โ”€โ”€ src - โ”œโ”€โ”€ build.gradle - โ”œโ”€โ”€ gradle - โ”‚ โ””โ”€โ”€ wrapper - โ”œโ”€โ”€ gradle.properties - โ”œโ”€โ”€ gradlew - โ”œโ”€โ”€ gradlew.bat - โ”œโ”€โ”€ screenshots - โ”‚ โ”œโ”€โ”€ add_todo_dark.png - โ”‚ โ”œโ”€โ”€ add_todo_light.png - โ”‚ โ”œโ”€โ”€ app_icon.png - โ”‚ โ”œโ”€โ”€ main_empty_dark.png - โ”‚ โ”œโ”€โ”€ main_empty_light.png - โ”‚ โ”œโ”€โ”€ main_full_dark.png - โ”‚ โ”œโ”€โ”€ main_full_light.png - โ”‚ โ”œโ”€โ”€ screenshot_notification.png - โ”‚ โ”œโ”€โ”€ screenshot_reminder_date.png - โ”‚ โ”œโ”€โ”€ screenshot_reminder_time.png - โ”‚ โ”œโ”€โ”€ screenshot_todo_snooze.png - โ”‚ โ”œโ”€โ”€ todo_date_dark.png - โ”‚ โ””โ”€โ”€ todo_time_dark.png - โ””โ”€โ”€ settings.gradle -``` - ---- - -## Modules - -
. - -| File | Summary | -| --- | --- | -| [build.gradle](https://github.com/avjinder/Minimal-Todo/blob/master/build.gradle) | This code snippet is part of the top-level build.gradle file in the Minimal-Todo repository. It configures the build settings for all sub-projects/modules and specifies dependencies. The main purpose is to set up the necessary repositories and classpaths. | -| [gradlew.bat](https://github.com/avjinder/Minimal-Todo/blob/master/gradlew.bat) | The gradlew.bat file is part of the Minimal-Todo repository and is used to execute Gradle on Windows. It sets the Java environment variables and executes GradleWrapperMain. | -| [settings.gradle](https://github.com/avjinder/Minimal-Todo/blob/master/settings.gradle) | This code snippet includes the `app` module in the project's settings.gradle file. It plays a critical role in the repository's architecture by ensuring that the app module is included and incorporated into the build process. | - -
- -
app - -| File | Summary | -| --- | --- | -| [proguard-rules.pro](https://github.com/avjinder/Minimal-Todo/blob/master/app/proguard-rules.pro) | The code snippet in `app/proguard-rules.pro` is responsible for specifying ProGuard rules specific to the project. It includes keeping public classes from com.google packages and not warning about com.google.android.gms. | -| [build.gradle](https://github.com/avjinder/Minimal-Todo/blob/master/app/build.gradle) | This code snippet, located in the `app/build.gradle` file, is responsible for configuring the Android application build process. It defines various parameters such as the target SDK version, version code, and dependencies. The snippet also includes configuration for signing the app and enabling minification. | -| [google-services.json](https://github.com/avjinder/Minimal-Todo/blob/master/app/google-services.json) | This code snippet contains the google-services.json file, which is crucial for integrating Google services into the Minimal-Todo Android application. It provides configuration details such as project ID, API keys, and client information. | - -
- -
app.src.androidTest.java.com.example.avjindersinghsekhon.minimaltodo - -| File | Summary | -| --- | --- | -| [TestStoreRetrieveData.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/androidTest/java/com/example/avjindersinghsekhon/minimaltodo/TestStoreRetrieveData.java) | This code snippet contains test cases for the `StoreRetrieveData` class in the Minimal-Todo codebase. It verifies the functionality of writing and reading data from storage, ensuring the integrity of the stored data. The code also tests the conversion of an ArrayList to a JSONArray. | -| [ApplicationTest.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/androidTest/java/com/example/avjindersinghsekhon/minimaltodo/ApplicationTest.java) | This code snippet is part of the Minimal-Todo repository and acts as a fundamental test for the application. It verifies if the Application can be properly executed and basic testing fundamentals are in place. | -| [TestTodoItem.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/androidTest/java/com/example/avjindersinghsekhon/minimaltodo/TestTodoItem.java) | This code snippet contains JUnit tests for the functionality of the ToDoItem class in the Minimal-Todo repository. It tests the construction of ToDoItem objects, marshalling to JSON, and unmarshalling from JSON. The tests validate attributes such as the text body, reminder status, and date. | - -
- -
app.src.main.java.com.example.avjindersinghsekhon.minimaltodo.Settings - -| File | Summary | -| --- | --- | -| [SettingsFragment.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/Settings/SettingsFragment.java) | This code snippet is a SettingsFragment in the Minimal-Todo Android app. It manages user preferences, including a night mode option that changes the app's theme. The fragment listens for preference changes and updates the app accordingly. | -| [SettingsActivity.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/Settings/SettingsActivity.java) | This code snippet is the SettingsActivity class in the Minimal-Todo repository. It handles the UI and functionality of the settings screen, including the theme selection and navigation back to the previous screen. | - -
- -
app.src.main.java.com.example.avjindersinghsekhon.minimaltodo.Reminder - -| File | Summary | -| --- | --- | -| [ReminderFragment.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/Reminder/ReminderFragment.java) | This code snippet is a fragment in the Minimal-Todo repository. It implements the reminder functionality for a to-do item. It allows the user to set a reminder for the to-do item and provides options for snoozing the reminder. | -| [ReminderActivity.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/Reminder/ReminderActivity.java) | This code snippet is part of the Minimal-Todo repository and is located in the `ReminderActivity.java` file. It extends the `AppDefaultActivity` class and is responsible for creating the reminder interface of the app. It sets the layout and initializes the `ReminderFragment` as the initial fragment. | - -
- -
app.src.main.java.com.example.avjindersinghsekhon.minimaltodo.About - -| File | Summary | -| --- | --- | -| [AboutActivity.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/About/AboutActivity.java) | This code snippet represents the AboutActivity class in the Minimal-Todo codebase. It is responsible for displaying information about the app, including the version and contact details. The activity also handles user interactions, such as clicking the back button. | -| [AboutFragment.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/About/AboutFragment.java) | This code snippet is an implementation of the AboutFragment class in the Minimal-Todo app. It sets up the UI and functionality for the About screen, including displaying the app version and handling user feedback. | - -
- -
app.src.main.java.com.example.avjindersinghsekhon.minimaltodo.AddToDo - -| File | Summary | -| --- | --- | -| [AddToDoFragment.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/AddToDo/AddToDoFragment.java) | This code snippet, located in the AddToDoFragment.java file, handles the functionality of adding a new to-do item. It includes features such as animation, clipboard management, and context handling. | -| [AddToDoActivity.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/AddToDo/AddToDoActivity.java) | This code snippet is an activity class that extends a parent activity class from the repository architecture. It overrides methods to set the layout, create a fragment, and handle the activity's lifecycle events. | - -
- -
app.src.main.java.com.example.avjindersinghsekhon.minimaltodo.Main - -| File | Summary | -| --- | --- | -| [MainActivity.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/Main/MainActivity.java) | This code snippet represents the main activity of the Minimal-Todo repository. It handles the creation of the main interface, including the toolbar and menu options. The activity manages fragment navigation and launches other activities, such as the About and Settings activities. | -| [CustomRecyclerScrollViewListener.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/Main/CustomRecyclerScrollViewListener.java) | This code snippet is part of the Minimal-Todo repository's architecture. It contains a custom scroll listener class for RecyclerViews. It allows for hiding and showing views based on scroll direction and distance. | -| [MainFragment.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/Main/MainFragment.java) | This code snippet contains the implementation of the MainFragment class in the Minimal-Todo repository. It includes functionalities such as setting alarms, handling intents, managing shared preferences, and manipulating colors. | - -
- -
app.src.main.java.com.example.avjindersinghsekhon.minimaltodo.Analytics - -| File | Summary | -| --- | --- | -| [AnalyticsApplication.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/Analytics/AnalyticsApplication.java) | This code snippet is part of the Minimal-Todo repository and it handles analytics tracking for the application. It uses Google Analytics to track various events and screen views within the app. By implementing the AnalyticsApplication class, the app can send analytics data to Google Analytics for analysis and monitoring. | - -
- -
app.src.main.java.com.example.avjindersinghsekhon.minimaltodo.AppDefault - -| File | Summary | -| --- | --- | -| [AppDefaultFragment.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/AppDefault/AppDefaultFragment.java) | This code snippet is a base class for fragments in the Minimal-Todo repository. It provides a default implementation for creating and destroying fragments, utilizing layout resources specific to each fragment. | -| [AppDefaultActivity.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/AppDefault/AppDefaultActivity.java) | This code snippet is a base activity class that sets up the initial fragment and handles the creation of the layout for child activities in the Minimal-Todo repository. | - -
- -
app.src.main.java.com.example.avjindersinghsekhon.minimaltodo.Utility - -| File | Summary | -| --- | --- | -| [TodoNotificationService.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/Utility/TodoNotificationService.java) | This code snippet is a part of a minimalist to-do list app. It handles the creation and display of notifications for to-do reminders. Its main role is to generate and manage notifications for the user's to-do items, including setting the notification content and handling user interactions with the notifications. | -| [ScrollingFABBehaviour.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/Utility/ScrollingFABBehaviour.java) | This code snippet contains the `ScrollingFABBehaviour` class, which is responsible for controlling the behavior of the floating action button (FAB) when scrolling in the app. It ensures that the FAB stays hidden or visible based on the scroll position, accounting for snackbar and toolbar effects. | -| [ToDoItem.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/Utility/ToDoItem.java) | The `ToDoItem` class is a utility class that represents a to-do item in the Minimal-Todo app. It contains properties such as the to-do text, reminder status, description, color, date, and identifier. This class allows for serialization and deserialization of to-do items to/from JSON format. | -| [CustomTextInputLayout.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/Utility/CustomTextInputLayout.java) | This code snippet includes the implementation of a custom TextInputLayout. It overrides some methods to properly handle the hint functionality and ensure it is displayed correctly. The code aims to enhance the user experience of input fields within the parent repository's application. | -| [StoreRetrieveData.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/Utility/StoreRetrieveData.java) | This code snippet defines a class named StoreRetrieveData that provides methods to save and retrieve data from a file. It uses JSON format to store and retrieve ArrayLists of ToDoItem objects. The class takes a Context and a filename in the constructor and uses them to open and read/write the file. | -| [Utils.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/Utility/Utils.java) | This code snippet, located at `app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/Utility/Utils.java`, defines a utility class called `Utils`. It provides a method `getToolbarHeight()` that returns the height of the toolbar in the app's context. | -| [DeleteNotificationService.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/Utility/DeleteNotificationService.java) | The `DeleteNotificationService` code snippet is a utility class in the Minimal-Todo repository. It is responsible for handling the deletion of notifications and updating the data set accordingly. It retrieves the necessary data, removes the corresponding item, saves the updated data, and notifies the app of the change. | -| [ItemTouchHelperClass.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/Utility/ItemTouchHelperClass.java) | Summary:This code snippet defines the `ItemTouchHelperClass` in the `Utility` package, extending the `ItemTouchHelper.Callback` class. It enables the dragging and swiping functionality for items in a `RecyclerView` and provides callbacks for handling these actions. | -| [PreferenceKeys.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/Utility/PreferenceKeys.java) | The `PreferenceKeys.java` code snippet provides a class that handles the preference key for night mode in the Minimal-Todo repository. It retrieves the value from resources and stores it for future use. | -| [RecyclerViewEmptySupport.java](https://github.com/avjinder/Minimal-Todo/blob/master/app/src/main/java/com/example/avjindersinghsekhon/minimaltodo/Utility/RecyclerViewEmptySupport.java) | The code snippet is a utility class called RecyclerViewEmptySupport that extends the RecyclerView class. It provides functionality to display an empty view when the RecyclerView is empty and hide it when there are items. This is achieved by listening to changes in the adapter's data and toggling the visibility of the empty view and the RecyclerView accordingly. | - -
- ---- - -## Getting Started - -***Requirements*** - -Ensure you have the following dependencies installed on your system: - -* **Java**: `version x.y.z` - -### Installation - -1. Clone the Minimal-Todo repository: - -```sh -git clone https://github.com/avjinder/Minimal-Todo -``` - -2. Change to the project directory: - -```sh -cd Minimal-Todo -``` - -3. Install the dependencies: - -```sh -mvn clean install -``` - -### Running Minimal-Todo - -Use the following command to run Minimal-Todo: - -```sh -java -jar target/myapp.jar -``` - -### Tests - -To execute tests, run: - -```sh -mvn test -``` - ---- - -## Project Roadmap - -- [X] `โ–บ INSERT-TASK-1` -- [ ] `โ–บ INSERT-TASK-2` -- [ ] `โ–บ ...` - ---- - -## Contributing - -Contributions are welcome! Here are several ways you can contribute: - -- **[Submit Pull Requests](https://github.com/avjinder/Minimal-Todo/blob/main/CONTRIBUTING.md)**: Review open PRs, and submit your own PRs. -- **[Join the Discussions](https://github.com/avjinder/Minimal-Todo/discussions)**: Share your insights, provide feedback, or ask questions. -- **[Report Issues](https://github.com/avjinder/Minimal-Todo/issues)**: Submit bugs found or log feature requests for Minimal-todo. - -
- Contributing Guidelines - -1. **Fork the Repository**: Start by forking the project repository to your GitHub account. -2. **Clone Locally**: Clone the forked repository to your local machine using a Git client. - ```sh - git clone https://github.com/avjinder/Minimal-Todo - ``` -3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name. - ```sh - git checkout -b new-feature-x - ``` -4. **Make Your Changes**: Develop and test your changes locally. -5. **Commit Your Changes**: Commit with a clear message describing your updates. - ```sh - git commit -m 'Implemented new feature x.' - ``` -6. **Push to GitHub**: Push the changes to your forked repository. - ```sh - git push origin new-feature-x - ``` -7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and their motivations. - -Once your PR is reviewed and approved, it will be merged into the main branch. - -
- ---- - -## License - -This project is protected under the [SELECT-A-LICENSE](https://choosealicense.com/licenses) License. For more details, refer to the [LICENSE](https://choosealicense.com/licenses/) file. - ---- - -## Acknowledgments - -- List any resources, contributors, inspiration, etc. here. - -[**Return**](#-quick-links) - ---- diff --git a/examples/readme-kotlin.md b/examples/readme-kotlin.md index eaa45ae7..e6f878e2 100644 --- a/examples/readme-kotlin.md +++ b/examples/readme-kotlin.md @@ -1,22 +1,17 @@ -

- FILE.IO-ANDROID-CLIENT-logo -

-

-

FILE.IO-ANDROID-CLIENT

-

-

- Unleash seamless Android file magic! -

-

- license - last-commit - repo-top-language - repo-language-count +

+ +

FILE.IO-ANDROID-CLIENT

+

+ Empowering Android, Elevating Experiences.

-

- Built with the tools and technologies: +

+ license + last-commit + repo-top-language + repo-language-count

-

+

Built with the tools and technologies:

+

JetBrains Android Org @@ -24,31 +19,26 @@ Google Kotlin java -

-
+
+
+ +## ๐Ÿ”— Table of Contents -## ๐Ÿ”— Quick Links - -- [๐Ÿ“ Overview](#-overview) -- [๐Ÿ‘พ Features](#-features) -- [๐Ÿ“ Project Structure](#-project-structure) - - [๐Ÿ“‚ Project Index](#-project-index) -- [๐Ÿš€ Getting Started](#-getting-started) - - [โ˜‘๏ธ Prerequisites](#-prerequisites) - - [โš™๏ธ Installation](#-installation) - - [๐Ÿค– Usage](#๐Ÿค–-usage) - - [๐Ÿงช Testing](#๐Ÿงช-testing) -- [๐Ÿ“Œ Project Roadmap](#-project-roadmap) -- [๐Ÿ”ฐ Contributing](#-contributing) -- [๐ŸŽ— License](#-license) -- [๐Ÿ™Œ Acknowledgments](#-acknowledgments) +I. [๐Ÿ“ Overview](#-overview) +II. [๐Ÿ‘พ Features](#-features) +III. [๐Ÿ“ Project Structure](#-project-structure) +IV. [๐Ÿš€ Getting Started](#-getting-started) +V. [๐Ÿ“Œ Project Roadmap](#-project-roadmap) +VI. [๐Ÿ”ฐ Contributing](#-contributing) +VII. [๐ŸŽ— License](#-license) +VIII. [๐Ÿ™Œ Acknowledgments](#-acknowledgments) --- ## ๐Ÿ“ Overview -The file.io-Android-Client project offers seamless file upload and management on Android devices. Users can easily upload files, view upload history, and copy shareable links. This open-source app enhances file handling efficiency for individuals seeking a user-friendly file-sharing solution. +The file.io-Android-Client project offers a seamless solution for secure file uploads on Android devices. Key features include easy file sharing, encrypted URLs, and notification alerts. This open-source project caters to developers seeking a reliable and privacy-focused file transfer solution for their mobile applications. --- @@ -56,14 +46,14 @@ The file.io-Android-Client project offers seamless file upload and management on | | Feature | Summary | | :--- | :---: | :--- | -| โš™๏ธ | **Architecture** | | -| ๐Ÿ”ฉ | **Code Quality** | | -| ๐Ÿ“„ | **Documentation** | | -| ๐Ÿ”Œ | **Integrations** | | -| ๐Ÿงฉ | **Modularity** | | -| ๐Ÿงช | **Testing** | | -| โšก๏ธ | **Performance** | | -| ๐Ÿ›ก๏ธ | **Security** | | +| โš™๏ธ | **Architecture** | | +| ๐Ÿ”ฉ | **Code Quality** | | +| ๐Ÿ“„ | **Documentation** | | +| ๐Ÿ”Œ | **Integrations** | | +| ๐Ÿงฉ | **Modularity** | | +| ๐Ÿงช | **Testing** | | +| โšก๏ธ | **Performance** | | +| ๐Ÿ›ก๏ธ | **Security** | | --- @@ -105,11 +95,11 @@ The file.io-Android-Client project offers seamless file upload and management on - + - +
build.gradleConfigure project dependencies and repositories for Android app build using Gradle.- Configures project dependencies and repositories for the entire codebase, ensuring seamless integration of essential tools and libraries
- The `build.gradle` file sets up key components like the Android Gradle plugin, Fabric, Google services, and Kotlin plugin, enabling efficient build management across all project modules.
settings.gradle- Defines project modules for build configuration and dependency management within the codebase architecture
- The "settings.gradle" file specifies the inclusion of the ":app" module, organizing the project structure and facilitating seamless integration of different components.
Defines the project structure and modules to include in the build process.
@@ -120,7 +110,7 @@ The file.io-Android-Client project offers seamless file upload and management on - +
readme.txt- Facilitates project setup and configuration by providing a visual guide and essential instructions in the README file
- Helps users navigate the project structure and understand how to interact with the codebase effectively.
Enhances project onboarding by providing visual aids and documentation in readme.txt and screenshots.
@@ -131,11 +121,11 @@ The file.io-Android-Client project offers seamless file upload and management on - + - +
proguard-rules.pro- Specifies project-specific ProGuard rules to optimize and secure the Android app during the build process
- Controls configuration file entities and preserves line number information for debugging stack traces
- Includes rules for Crashlytics integration and hides original source file names.
- Define ProGuard rules for Android project to optimize and secure code
- Control configuration via build.gradle, preserve line numbers for debugging
- Exclude specific packages, keep annotation attributes, and handle Crashlytics classes
- Enhance app performance and security.
build.gradle- Configures Android project settings, dependencies, and plugins for the application
- Sets up build types, defines dependencies for various libraries, including Room, Firebase, and Gson
- Implements plugins for Crashlytics, Kotlin, and navigation components
- Handles permissions using Permission Dispatcher and includes testing dependencies.
- Configures Android project settings, dependencies, and plugins
- Manages versions for libraries like Room, Kotlin, and Firebase
- Integrates Crashlytics for crash reporting and Navigation components for UI navigation
- Implements permissions handling with Permission Dispatcher
- Sets up testing dependencies and logging with Timber
- Configures Google services plugin for Firebase integration.
@@ -144,7 +134,7 @@ The file.io-Android-Client project offers seamless file upload and management on - +
app-release.apk- The provided code file serves as a crucial component within the project architecture, facilitating seamless integration and interaction between various modules
- It plays a key role in enhancing the overall functionality and performance of the codebase, contributing significantly to the project's success.
- The provided code file is a crucial component in the project's architecture, serving the purpose of managing user authentication and authorization
- It ensures secure access control and user identity verification within the codebase, enhancing the overall security and integrity of the project.
@@ -164,7 +154,8 @@ The file.io-Android-Client project offers seamless file upload and management on - +
app-debug.apk- The code file provided serves as a crucial component within the project structure, contributing to the overall architecture by enabling seamless communication between different modules
- It plays a key role in enhancing the project's functionality and ensuring efficient data flow throughout the system.
- Summary: +The provided code file plays a crucial role in the project architecture by implementing a key feature that enhances the overall functionality of the codebase
- It contributes to the project's success by fulfilling a specific purpose and improving the user experience.
@@ -199,15 +190,15 @@ The file.io-Android-Client project offers seamless file upload and management on - + - + - +
ExampleInstrumentedTest.kt- Verifies app context on an Android device using Instrumented Test
- Executes on AndroidJUnit4 with a SmallTest filter
- Utilizes ActivityTestRule for MainActivity
- Validates app package name against expected value
- Ideal for ensuring correct context setup in Android testing environments.
- Verifies Android app functionality using instrumentation tests on a physical device
- The test ensures the app context matches the expected package name, validating proper app setup and configuration.
FileEntityDaoTest.java- Tests the functionality of the RoomDatabase by checking the count of rows, inserting and retrieving items, and saving multiple items
- Verifies proper object creation and database operations, ensuring data integrity and consistency in the UploadHistoryRoomDatabase.
- Tests the RoomDatabase functionality by checking row count, inserting and retrieving items
- Validates data integrity and consistency in the database for FileEntity objects.
UploadHistoryInstrumentedTest.java- Implements instrumented tests for uploading history activity, utilizing Room database for data storage
- Populates the database with sample items for testing purposes
- Includes a method to match file entities by name.
- Verifies long-press item deletion functionality in Upload History Activity through instrumentation testing
- Initializes Room Database, populates with test data, and tests the deletion process
- This test ensures items can be deleted successfully via long-press action in the app's upload history feature.
@@ -243,19 +234,19 @@ The file.io-Android-Client project offers seamless file upload and management on - + - + - + - +
ExampleUnitTest.javaTests addition functionality to ensure correctness on the development machine.- Verifies correct addition operation in local unit tests for the Android app
- The code ensures the accuracy of the addition functionality by asserting the result against the expected value
- This unit test is vital for maintaining the integrity of the app's core arithmetic operations.
UploadRepositoryTest.javaTest the expiration URL generation functionality ensuring correctness and consistency with defined constants in the codebase.Verify URL expiration logic correctness and const URL generation in the Upload Repository through unit tests.
UrlTest.java- Tests URL parsing functionality to ensure proper extraction of the base URL from an encrypted URL
- This validation guarantees accurate handling of file download links within the project architecture.
Validates URL parsing functionality for encrypt URLs in the project, ensuring correct extraction of the base URL.
FileEntityTest.javaValidates FileEntity attributes setting functionality through unit tests.- Tests the FileEntity class by setting and checking values for name and URL properties
- This file ensures that the FileEntity object correctly stores and retrieves the provided data, validating the core functionality of the FileEntity class within the project architecture.
@@ -294,7 +285,7 @@ The file.io-Android-Client project offers seamless file upload and management on - +
UploadHistoryViewModel.kt- Manages live data of file upload history through a ViewModel linked to a Room Database
- Initializes LiveData with a list of file entities from the database, facilitating seamless data interaction in the app.
- Manages live data for upload history in the application by connecting to the local database
- The UploadHistoryViewModel class in the provided file serves as a bridge between the database and UI, ensuring real-time updates on uploaded files.
@@ -305,19 +296,19 @@ The file.io-Android-Client project offers seamless file upload and management on - + - + - + - +
FileioApplication.kt- Initializes application-wide configurations for logging and error handling in the Android app
- Sets up Timber for logging and configures a custom activity to handle crashes
- This class acts as the base for the application, providing essential setup during the app's lifecycle.
- Initiates application setup and configuration
- Handles logging with Timber and sets up custom error handling using Custom Activity on Crash.
UploadHistoryListAdapter.kt- Enables displaying and managing upload history in a RecyclerView by populating different types of views based on the data content
- Supports viewing file details and copying URLs to the clipboard
- Facilitates swapping and removing items in the list.
- Enables rendering of upload history items in a RecyclerView with date separators and file details
- Supports interaction for copying file URLs and removing items
- Facilitates dynamic updates to the displayed list of files.
SwipeToDeleteCallBack.kt- Implements swipe-to-delete functionality for RecyclerView items in the app UI, allowing users to remove items with a left swipe gesture
- The code defines visual elements like delete icons and backgrounds, enhancing the user experience by providing a visual cue for item deletion.
- Implements swipe-to-delete functionality for RecyclerView items
- Handles drawing delete background and icon
- Disables swiping for specific item types
- Utilizes a color drawable and custom paint to manage visual effects
- Designed to enhance user interaction and provide a seamless UI experience within the app.
NotificationHelper.kt- Generates notifications to inform users about successful file uploads
- Handles notification creation and channel setup for devices running Android Oreo and above
- Utilizes pending intents to enable interaction with the notification
- Enhances user experience by providing timely feedback on completed file uploads.
- Generates notifications upon successful file uploads, utilizing a notification channel for Android O and above
- Includes a notification click action to open the upload history activity with file details.
@@ -326,15 +317,15 @@ The file.io-Android-Client project offers seamless file upload and management on - + - + - +
NoNetworkDialogFragment.kt- Implement a dialog fragment handling network connectivity issues, allowing users to interact with an error message
- The fragment facilitates user actions through an 'OK' button, triggering responses via a dialog click listener.
- Creates a dialog fragment to handle network errors
- It provides an option for users to acknowledge the error and triggers a callback to the parent activity.
HomeFragment.kt- Implements a fragment for choosing and uploading files, handling user interactions, and communication with the parent activity
- The HomeFragment class encapsulates file selection logic and UI elements for a seamless user experience within the app's architecture.
- Enables interaction with local files through a user-friendly interface
- Facilitates file selection and storage in the local cache
- Implements callbacks for user actions and ensures seamless communication with the parent activity.
ResultFragment.kt- Enables displaying and interacting with result data, such as URLs and expiration days, in the app
- Allows users to copy links to the clipboard and trigger actions upon completion.
- ResultFragment in the codebase displays and manages the result details for a specific file operation
- It handles the UI elements and user interactions related to displaying a URL and its expiration duration
- The fragment allows users to copy the URL to the clipboard and provides a button to indicate completion of the task.
@@ -345,23 +336,23 @@ The file.io-Android-Client project offers seamless file upload and management on - + - + - + - + - +
MainActivity.kt- The MainActivity file orchestrates file uploads, navigation, and permission handling within the app
- It integrates with WorkManager for background tasks, displays results, and manages fragments for user interaction
- This central activity drives the core functionality and user experience of the application.
- Manages the main activity of the app, facilitating file uploads, handling permissions, and displaying results
- It initializes fragments, handles user interactions, and enqueues upload work using WorkManager
- The activity also responds to permission requests and provides options to navigate to upload history and about sections.
ErrorActivity.kt- Handles runtime crashes by displaying an error screen
- The ErrorActivity class in the provided file extends AppCompatActivity and overrides onBackPressed() to finish the activity
- It sets the content view to activity_error layout in onCreate().
Handles runtime crashes by displaying the ErrorActivity, ensuring a smooth user experience.
UploadHistoryActivity.kt- Manages the upload history display, allowing users to clear history and delete individual items
- Provides visual feedback on item removal and dynamically updates the list view based on chronological order
- Utilizes WorkManager for background tasks and RecyclerView for swipe-to-delete functionality.
- Manages the upload history display, enabling users to clear history, remove individual items, and swipe to delete
- Displays a list of uploaded files grouped by date, with the ability to toggle between views based on content availability.
AboutActivity.ktManages the About section UI and navigation in the app, allowing users to view open-source licenses.- Enables navigation to the open-source license activity from the About section
- The code defines the behavior for creating the options menu, setting the theme, and handling user interaction to launch the LicenseActivity
- This functionality enhances the user experience by providing access to project licensing information.
LicenseActivity.kt- Generates a Material About list displaying open-source licenses for various libraries used in the project
- The LicenseActivity file constructs license cards with details like library name, author, and license type
- This activity helps users view and understand the open-source licenses associated with the project's dependencies.
- Generates a list of open-source licenses for various libraries used in the project, providing details such as the library name, release year, creator, and license type
- This activity serves to display licensing information in a Material About Activity to inform users about the open-source components utilized in the application.
@@ -374,11 +365,11 @@ The file.io-Android-Client project offers seamless file upload and management on - + - +
UploadHistoryWorkers.kt- These worker classes in the provided file handle clearing and deleting upload history items in the database
- They are responsible for executing background tasks asynchronously to manage the upload history data effectively within the application architecture.
Implements workers to handle clearing and deleting items in the Upload History database.
UploadWorker.kt- Handles uploading files to a remote server, saving upload history to a local database, and notifying users upon completion
- Utilizes WorkManager for asynchronous tasks and Fuel library for HTTP requests
- The code ensures synchronous requests within a Worker Thread for accurate progress tracking.
- Handles uploading files to a remote server, saving upload history to a local database, and sending notifications upon completion
- Manages file upload process asynchronously using WorkManager, ensuring data consistency and user feedback.
@@ -389,31 +380,31 @@ The file.io-Android-Client project offers seamless file upload and management on - + - + - + - + - + - + - +
Extensions.ktEnables adding toast messages and toggling clickable behavior to strings and views in the Android app.- Enables displaying toast messages and toggling clickability in Android app views
- Enhances user interaction by providing convenient feedback and dynamic interaction controls
- Integrates seamlessly within the project's utility functions, contributing to a user-friendly experience.
WorkManagerHelper.ktGenerates OneTimeWorkRequest for uploading files with specified constraints and data, tagged as 'UploadWork'.Generates OneTimeWorkRequest for uploading a file with specified URI by creating constraints and work data, then assigning them to the request.
Utils.kt- Facilitates Android file handling, network connectivity checks, and dialog management
- Includes methods for retrieving file details, opening files, and creating intents
- Offers functionalities for network status checks, dialog display, clipboard operations, and app settings navigation
- Additionally, provides URL parsing and JSON parsing utilities.
- Provides utility methods for handling file operations, network connectivity, intents, dialogs, and JSON parsing in the Android app
- Centralizes common functionalities to simplify code maintenance and enhance readability
- Facilitates file details retrieval, file opening, network connectivity checks, dialog management, URL parsing, JSON parsing, and date formatting.
Helpers.kt- The code file in `Helpers.kt` provides functions to extract metadata and create file entities based on user-selected files
- It handles retrieving file names, sizes, and composing file entities with additional data for the project's file management system.
- The code file in `Helpers.kt` extracts metadata and retrieves files from URIs in the app using Android content resolver
- It aids in fetching file details like name and size, converting them into a structured `FileEntity`, and logging with Timber
- This facilitates seamless file operations within the app's architecture.
FragmentHelperExtensions.kt- Enhances FragmentManager functionality by simplifying fragment transactions
- The code provides extension functions to easily add or replace fragments in a container, managing transitions and back stack behavior
- This improves code readability and maintainability in the app's architecture, promoting efficient navigation and user experience.
- Enhances FragmentManager functionality by adding and replacing fragments in a container with specified transitions and backstack management
- Supports smoother fragment transactions within the app's architecture.
MaterialIn.kt- Enables smooth material animation effects on specified views by applying fade and slide transitions based on gravity directions
- The code orchestrates animations with precise timing and movement offsets, enhancing the user interface with visually appealing interactions.
Enables smooth material animations on Android views based on gravity directions, facilitating a polished user interface experience within the project architecture.
Constants.kt- Defines global constants for the project, including BASE_URL, EXPIRE_PARAM, DEFAULT_EXPIRE_WEEKS, GITHUB_URL, TWITTER_URL, EMAIL, POSTFIX, and TIME_STAMP_FORMAT
- These constants play a crucial role in maintaining consistency and reusability across the codebase architecture.
- Defines global constants for the project, including BASE_URL for API requests, default expiration time, social media links, and email address
- Additionally, it sets up the format for timestamps used throughout the codebase
- The file centralizes key values to ensure consistency and easy maintenance across the project.
@@ -424,11 +415,11 @@ The file.io-Android-Client project offers seamless file upload and management on - + - +
DialogClickListener.ktEnables handling positive dialog button clicks within the project's file I/O module.Enables communication between dialogs and fragments for seamless user interactions within the project architecture.
OnFragmentInteractionListener.ktDefines an interface for handling fragment interactions in the project.- The code file `OnFragmentInteractionListener.kt` defines an interface for handling specific events within the project architecture
- It facilitates communication between different components by defining methods for actions like file uploads and completion notifications
- This abstraction helps in decoupling and structuring the codebase effectively.
@@ -508,7 +499,9 @@ Run the test suite using the following command: ``` +--- ## ๐Ÿ“Œ Project Roadmap + - [X] **`Task 1`**: Implement feature one. - [ ] **`Task 2`**: Implement feature two. - [ ] **`Task 3`**: Implement feature three. diff --git a/examples/readme-streamlit-dalle.md b/examples/readme-streamlit-dalle.md deleted file mode 100644 index 3d4c5a1a..00000000 --- a/examples/readme-streamlit-dalle.md +++ /dev/null @@ -1,229 +0,0 @@ -

- README-AI-STREAMLIT-logo -

-

-

README-AI-STREAMLIT

-

-

- Empower READMEs with AI magic, effortlessly. -

-

- license - last-commit - repo-top-language - repo-language-count -

-

- Built with the tools and technologies: -

-

- GNU%20Bash - Streamlit - Poetry - Python -

- -
- -##### ๐Ÿ”— Table of Contents - -- [๐Ÿ“ Overview](#-overview) -- [๐Ÿ‘พ Features](#-features) -- [๐Ÿ“‚ Repository Structure](#-repository-structure) -- [๐Ÿงฉ Modules](#-modules) -- [๐Ÿš€ Getting Started](#-getting-started) - - [๐Ÿ”– Prerequisites](#-prerequisites) - - [๐Ÿ“ฆ Installation](#-installation) - - [๐Ÿค– Usage](#-usage) - - [๐Ÿงช Tests](#-tests) -- [๐Ÿ“Œ Project Roadmap](#-project-roadmap) -- [๐Ÿ”ฐ Contributing](#-contributing) -- [๐ŸŽ— License](#-license) -- [๐Ÿ™Œ Acknowledgments](#-acknowledgments) - ---- - -## ๐Ÿ“ Overview - -The readme-ai-streamlit project automates README generation for Streamlit apps using AI. It streamlines the process by collecting user inputs, enhancing customization with badges and emojis, and providing a web app interface for generating README files. The project's core functionalities include cleaning artifacts, managing dependencies with Poetry, and facilitating efficient development workflows. By leveraging AI in a Streamlit web app, readme-ai-streamlit adds value by simplifying README creation, improving user experience, and enhancing project documentation. - ---- - -## ๐Ÿ‘พ Features - -| | Feature | Description | -|----|-------------------|---------------------------------------------------------------| -| โš™๏ธ | **Architecture** | The project follows a modular architecture with a CLI tool for README generation and a Streamlit web app for AI-based README generation. It uses Python for backend logic and Streamlit for the frontend. | -| ๐Ÿ”ฉ | **Code Quality** | The codebase maintains high code quality standards with consistent formatting and linting using tools like Ruff. It follows best practices for Python development and includes a Makefile for automation tasks. | -| ๐Ÿ“„ | **Documentation** | The project has detailed documentation in the form of comments in the codebase and a README file. It explains the project structure, setup instructions, and usage guidelines for developers. | -| ๐Ÿ”Œ | **Integrations** | Key integrations include README AI library for AI-based README generation, Streamlit for web app development, and Poetry for dependency management. External dependencies like Ruff are used for code formatting and linting. | -| ๐Ÿงฉ | **Modularity** | The codebase is modular and reusable, with separate modules for CLI functionality, utility functions, and the Streamlit web app. This design allows for easy maintenance and extension of the project. | -| ๐Ÿงช | **Testing** | Testing frameworks and tools are not explicitly mentioned in the repository contents. However, the project can benefit from incorporating testing frameworks like pytest for automated testing. | -| โšก๏ธ | **Performance** | The project's efficiency is enhanced by using AI for README generation and Streamlit for interactive web app development. Resource usage is optimized for generating README files based on user inputs. | -| ๐Ÿ›ก๏ธ | **Security** | Security measures for data protection and access control are not explicitly mentioned in the repository contents. Implementing secure coding practices and data encryption can enhance the project's security. | -| ๐Ÿ“ฆ | **Dependencies** | Key external libraries and dependencies include README AI, Streamlit, Poetry for dependency management, and Ruff for code formatting and linting. These dependencies streamline development and enhance project functionality. | -| ๐Ÿš€ | **Scalability** | The project's architecture and design support scalability for handling increased traffic and load. The use of Streamlit for web app development allows for easy scaling of the AI-based README generation functionality. | - ---- - -## ๐Ÿ“‚ Repository Structure - -```sh -โ””โ”€โ”€ readme-ai-streamlit/ - โ”œโ”€โ”€ LICENSE - โ”œโ”€โ”€ Makefile - โ”œโ”€โ”€ README.md - โ”œโ”€โ”€ poetry.lock - โ”œโ”€โ”€ pyproject.toml - โ”œโ”€โ”€ scripts - โ”‚ โ””โ”€โ”€ clean.sh - โ”œโ”€โ”€ src - โ”‚ โ”œโ”€โ”€ __init__.py - โ”‚ โ”œโ”€โ”€ app.py - โ”‚ โ”œโ”€โ”€ cli.py - โ”‚ โ””โ”€โ”€ utils.py - โ””โ”€โ”€ tests - โ”œโ”€โ”€ __init__.py - โ””โ”€โ”€ conftest.py -``` - ---- - -## ๐Ÿงฉ Modules - -
. - -| File | Summary | -| --- | --- | -| [Makefile](https://github.com/eli64s/readme-ai-streamlit/blob/main/Makefile) | Orchestrates code formatting, linting, testing, and application execution.-Facilitates repository cleanup, Conda package building, and word search functionality.-Enhances development workflow efficiency and maintenance. | -| [pyproject.toml](https://github.com/eli64s/readme-ai-streamlit/blob/main/pyproject.toml) | Generates READMEs automatically on Streamlit using the README AI library. Manages dependencies and project metadata with Poetry. Maintains code formatting and linting standards with Ruff. Supports development with additional dependencies like Ruff. | - -
- -
scripts - -| File | Summary | -| --- | --- | -| [clean.sh](https://github.com/eli64s/readme-ai-streamlit/blob/main/scripts/clean.sh) | Cleans build, test, and Python artifacts. Removes files and directories related to builds, tests, coverage, backups, and caches. Provides commands for specific cleaning tasks. | - -
- -
src - -| File | Summary | -| --- | --- | -| [cli.py](https://github.com/eli64s/readme-ai-streamlit/blob/main/src/cli.py) | Collects user inputs for configuring a README generation web app.-Builds a command to execute a CLI tool for generating README files based on user settings.-Enhances README customization with badges, emojis, and project logo options. | -| [utils.py](https://github.com/eli64s/readme-ai-streamlit/blob/main/src/utils.py) | Provides utility functions for the Streamlit app, enhancing functionality and improving user experience. | -| [app.py](https://github.com/eli64s/readme-ai-streamlit/blob/main/src/app.py) | Generates README files using AI in a Streamlit web app. Initializes session state, executes commands, and displays output. Handles README generation settings, previews, downloads, and markdown copying. Logs errors if generation fails. | - -
- ---- - -## ๐Ÿš€ Getting Started - -### ๐Ÿ”– Prerequisites - -**Python**: `version x.y.z` - -### ๐Ÿ“ฆ Installation - -Build the project from source: - -1. Clone the readme-ai-streamlit repository: -```sh -โฏ git clone https://github.com/eli64s/readme-ai-streamlit -``` - -2. Navigate to the project directory: -```sh -โฏ cd readme-ai-streamlit -``` - -3. Install the required dependencies: -```sh -โฏ pip install -r requirements.txt -``` - -### ๐Ÿค– Usage - -To run the project, execute the following command: - -```sh -โฏ python main.py -``` - -### ๐Ÿงช Tests - -Execute the test suite using the following command: - -```sh -โฏ pytest -``` - ---- - -## ๐Ÿ“Œ Project Roadmap - -- [X] **`Task 1`**: Implement feature one. -- [ ] **`Task 2`**: Implement feature two. -- [ ] **`Task 3`**: Implement feature three. - ---- - -## ๐Ÿ”ฐ Contributing - -Contributions are welcome! Here are several ways you can contribute: - -- **[Report Issues](https://github.com/eli64s/readme-ai-streamlit/issues)**: Submit bugs found or log feature requests for the `readme-ai-streamlit` project. -- **[Submit Pull Requests](https://github.com/eli64s/readme-ai-streamlit/blob/main/CONTRIBUTING.md)**: Review open PRs, and submit your own PRs. -- **[Join the Discussions](https://github.com/eli64s/readme-ai-streamlit/discussions)**: Share your insights, provide feedback, or ask questions. - -
-Contributing Guidelines - -1. **Fork the Repository**: Start by forking the project repository to your github account. -2. **Clone Locally**: Clone the forked repository to your local machine using a git client. - ```sh - git clone https://github.com/eli64s/readme-ai-streamlit - ``` -3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name. - ```sh - git checkout -b new-feature-x - ``` -4. **Make Your Changes**: Develop and test your changes locally. -5. **Commit Your Changes**: Commit with a clear message describing your updates. - ```sh - git commit -m 'Implemented new feature x.' - ``` -6. **Push to github**: Push the changes to your forked repository. - ```sh - git push origin new-feature-x - ``` -7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and their motivations. -8. **Review**: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution! -
- -
-Contributor Graph -
-

- - - -

-
- ---- - -## ๐ŸŽ— License - -This project is protected under the [SELECT-A-LICENSE](https://choosealicense.com/licenses) License. For more details, refer to the [LICENSE](https://choosealicense.com/licenses/) file. - ---- - -## ๐Ÿ™Œ Acknowledgments - -- List any resources, contributors, inspiration, etc. here. - ---- diff --git a/examples/readme-streamlit-minimal.md b/examples/readme-streamlit-minimal.md deleted file mode 100644 index 8a1c28f5..00000000 --- a/examples/readme-streamlit-minimal.md +++ /dev/null @@ -1,210 +0,0 @@ -[]() - -##    README-AI-STREAMLIT - -     *Code clarity, README magic, effortlessly unleashed.* - -

   - license - last-commit - repo-top-language - repo-language-count -

- -
- -##### Quick Links - -- [ Overview](#-overview) -- [ Features](#-features) -- [ Repository Structure](#-repository-structure) -- [ Modules](#-modules) -- [ Getting Started](#-getting-started) - - [ Prerequisites](#-prerequisites) - - [ Installation](#-installation) - - [ Usage](#-usage) - - [ Tests](#-tests) -- [ Project Roadmap](#-project-roadmap) -- [ Contributing](#-contributing) -- [ License](#-license) -- [ Acknowledgments](#-acknowledgments) - ---- - -## Overview - -The readme-ai-streamlit project is a Streamlit-based tool that simplifies the generation of README files for software projects. It leverages user inputs to configure a Streamlit web app, integrating with GitHub, OpenAI, and Docker Hub for seamless functionality. Key files like Makefile and pyproject.toml manage project organization and dependencies, while scripts like clean.sh ensure repository cleanliness. The app.py file orchestrates README generation, displaying output, previews, and enabling file download. This project streamlines README creation, enhancing project documentation and developer productivity. - ---- - -## Features - -| | Feature | Description | -|----|-------------------|---------------------------------------------------------------| -| โš™๏ธ | **Architecture** | The project follows a modular architecture with clear separation of concerns. It leverages Streamlit for the web app interface and integrates with GitHub, OpenAI, and Docker Hub for additional functionality. | -| ๐Ÿ”ฉ | **Code Quality** | The codebase maintains high quality with a Makefile for code formatting, linting, testing, and application running. It enforces linting rules through pyproject.toml and ensures project organization and cleanliness. | -| ๐Ÿ“„ | **Documentation** | The project provides detailed documentation in the form of inline comments and docstrings. It explains the purpose and functionality of key modules and scripts, aiding in understanding and contributing to the project. | -| ๐Ÿ”Œ | **Integrations** | Key integrations include Streamlit for the web app, GitHub for version control, OpenAI for AI capabilities, and Docker Hub for containerization. These integrations enhance the project's functionality and usability. | -| ๐Ÿงฉ | **Modularity** | The codebase exhibits high modularity with separate modules for CLI, utility functions, and app orchestration. This modularity promotes code reusability and maintainability. | -| ๐Ÿงช | **Testing** | The project uses testing frameworks and tools for ensuring code quality and functionality. Specific testing details are not provided in the repository contents. | -| โšก๏ธ | **Performance** | The project demonstrates efficient performance in generating README files through the Streamlit web app. Resource usage is optimized for smooth user experience. | -| ๐Ÿ›ก๏ธ | **Security** | Security measures for data protection and access control are not explicitly mentioned in the repository contents. Additional details on security practices would enhance the project's robustness. | -| ๐Ÿ“ฆ | **Dependencies** | Key external libraries and dependencies include Streamlit, toml, and other packages for web app development and functionality. These dependencies contribute to the project's feature set. | -| ๐Ÿš€ | **Scalability** | The project shows potential for scalability with its modular architecture and integration capabilities. It can handle increased traffic and load by leveraging Streamlit's scalability features. | - ---- - -## Repository Structure - -```sh -โ””โ”€โ”€ readme-ai-streamlit/ - โ”œโ”€โ”€ LICENSE - โ”œโ”€โ”€ Makefile - โ”œโ”€โ”€ README.md - โ”œโ”€โ”€ poetry.lock - โ”œโ”€โ”€ pyproject.toml - โ”œโ”€โ”€ scripts - โ”œโ”€โ”€ src - โ””โ”€โ”€ tests -``` - ---- - -## Modules - -
. - -| File | Summary | -| --- | --- | -| [Makefile](https://github.com/eli64s/readme-ai-streamlit/blob/main/Makefile) | Manages code formatting, linting, testing, and application running. Builds Conda packages, generates requirements, and searches for words in the repository. Facilitates cleanup and fixes untracked files. Key for maintaining code quality and project organization in the repository. | -| [pyproject.toml](https://github.com/eli64s/readme-ai-streamlit/blob/main/pyproject.toml) | Defines project metadata, dependencies, and linting rules for a Streamlit README generator. Specifies Python version, required packages, and development tools. Facilitates seamless project management and code quality maintenance. | - -
- -
scripts - -| File | Summary | -| --- | --- | -| [clean.sh](https://github.com/eli64s/readme-ai-streamlit/blob/main/scripts/clean.sh) | Cleans build, test, coverage, and Python artifacts by removing various file artifacts and directories. Provides commands to clean specific artifact types. Maintains the repositorys cleanliness and ensures removal of unnecessary files and directories. | - -
- -
src - -| File | Summary | -| --- | --- | -| [cli.py](https://github.com/eli64s/readme-ai-streamlit/blob/main/src/cli.py) | Collects user inputs for configuring a Streamlit web app.-Builds a command to execute the readme-ai CLI for generating README files.-Integrates with GitHub, OpenAI, and Docker Hub for seamless functionality. | -| [utils.py](https://github.com/eli64s/readme-ai-streamlit/blob/main/src/utils.py) | Enhance Streamlit app with utility functions for improved functionality. | -| [app.py](https://github.com/eli64s/readme-ai-streamlit/blob/main/src/app.py) | Orchestrates README generation in a Streamlit web app.-Initializes session state and executes CLI commands.-Displays output, previews, and enables file download.-Handles errors gracefully. | - -
- ---- - -## Getting Started - -### Prerequisites - -**Python**: `version x.y.z` - -### Installation - -Build the project from source: - -1. Clone the readme-ai-streamlit repository: -```sh -โฏ git clone https://github.com/eli64s/readme-ai-streamlit -``` - -2. Navigate to the project directory: -```sh -โฏ cd readme-ai-streamlit -``` - -3. Install the required dependencies: -```sh -โฏ pip install -r requirements.txt -``` - -### Usage - -To run the project, execute the following command: - -```sh -โฏ python main.py -``` - -### Tests - -Execute the test suite using the following command: - -```sh -โฏ pytest -``` - ---- - -## Project Roadmap - -- [X] **`Task 1`**: Implement feature one. -- [ ] **`Task 2`**: Implement feature two. -- [ ] **`Task 3`**: Implement feature three. - ---- - -## Contributing - -Contributions are welcome! Here are several ways you can contribute: - -- **[Report Issues](https://github.com/eli64s/readme-ai-streamlit/issues)**: Submit bugs found or log feature requests for the `readme-ai-streamlit` project. -- **[Submit Pull Requests](https://github.com/eli64s/readme-ai-streamlit/blob/main/CONTRIBUTING.md)**: Review open PRs, and submit your own PRs. -- **[Join the Discussions](https://github.com/eli64s/readme-ai-streamlit/discussions)**: Share your insights, provide feedback, or ask questions. - -
-Contributing Guidelines - -1. **Fork the Repository**: Start by forking the project repository to your github account. -2. **Clone Locally**: Clone the forked repository to your local machine using a git client. - ```sh - git clone https://github.com/eli64s/readme-ai-streamlit - ``` -3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name. - ```sh - git checkout -b new-feature-x - ``` -4. **Make Your Changes**: Develop and test your changes locally. -5. **Commit Your Changes**: Commit with a clear message describing your updates. - ```sh - git commit -m 'Implemented new feature x.' - ``` -6. **Push to github**: Push the changes to your forked repository. - ```sh - git push origin new-feature-x - ``` -7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and their motivations. -8. **Review**: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution! -
- -
-Contributor Graph -
-

- - - -

-
- ---- - -## License - -This project is protected under the [SELECT-A-LICENSE](https://choosealicense.com/licenses) License. For more details, refer to the [LICENSE](https://choosealicense.com/licenses/) file. - ---- - -## Acknowledgments - -- List any resources, contributors, inspiration, etc. here. - ---- diff --git a/examples/readme-streamlit-v0.588.md b/examples/readme-streamlit-v0.588.md deleted file mode 100644 index 2f4bfa33..00000000 --- a/examples/readme-streamlit-v0.588.md +++ /dev/null @@ -1,272 +0,0 @@ -

- README-AI-STREAMLIT-logo -

-

-

README-AI-STREAMLIT

-

-

- Craft READMEs with AI magic! -

-

- license - last-commit - repo-top-language - repo-language-count -

-

- Built with the tools and technologies: -

-

- Streamlit - precommit - Ruff - GNU%20Bash - Pytest - Python - Poetry -

-
- -
Table of Contents - -- [๐Ÿ“ Overview](#overview) -- [๐Ÿ‘พ Features](#features) -- [๐Ÿ“ Project Structure](#project-structure) - - [๐Ÿ“‚ Project Index](#project-index) -- [๐Ÿš€ Getting Started](#getting-started) - - [๐Ÿ“‹ Prerequisites](#prerequisites) - - [โš™๏ธ Installation](#installation) - - [๐Ÿค– Usage](#-usage) - - [๐Ÿงช Tests](#-tests) -- [๐Ÿ“Œ Roadmap](#roadmap) -- [๐Ÿ”ฐ Contributing](#-contributing) -- [๐ŸŽ— License](#license) -- [๐Ÿ™Œ Acknowledgments](#acknowledgments) - -
-
- -## ๐Ÿ“ Overview - -README-AI Streamlit is a tool that simplifies README file creation for software projects. It offers customizable templates and AI-generated content to enhance project presentation. Ideal for developers seeking efficient and polished project documentation. - ---- - -## ๐Ÿ‘พ Features - -| | Feature | Summary | -| :--- | :---: | :--- | -| โš™๏ธ | **Architecture** | | -| ๐Ÿ”ฉ | **Code Quality** | | -| ๐Ÿ“„ | **Documentation** | | -| ๐Ÿ”Œ | **Integrations** | | -| ๐Ÿงฉ | **Modularity** | | -| ๐Ÿงช | **Testing** | | -| โšก๏ธ | **Performance** | | -| ๐Ÿ›ก๏ธ | **Security** | | -| ๐Ÿ“ฆ | **Dependencies** | | -| ๐Ÿš€ | **Scalability** | | - ---- - -## ๐Ÿ“ Project Structure - -```sh -โ””โ”€โ”€ readme-ai-streamlit/ - โ”œโ”€โ”€ LICENSE - โ”œโ”€โ”€ Makefile - โ”œโ”€โ”€ README.md - โ”œโ”€โ”€ poetry.lock - โ”œโ”€โ”€ pyproject.toml - โ”œโ”€โ”€ scripts - โ”‚ โ””โ”€โ”€ clean.sh - โ”œโ”€โ”€ src - โ”‚ โ”œโ”€โ”€ __init__.py - โ”‚ โ”œโ”€โ”€ app.py - โ”‚ โ”œโ”€โ”€ cli.py - โ”‚ โ””โ”€โ”€ commands.py - โ””โ”€โ”€ tests - โ”œโ”€โ”€ __init__.py - โ”œโ”€โ”€ conftest.py - โ””โ”€โ”€ src -``` - -### ๐Ÿ“‚ Project Index - -
- README-AI-STREAMLIT/ -
- __root__ -
- - - - - - - - - -
MakefileFacilitates project management and development tasks including cleaning artifacts, displaying git logs, removing cached files, managing dependencies, formatting codebase, running tests, and providing a help menu.
pyproject.tomlGenerates automated README files for a Python project using the provided project structure and dependencies.
-
-
-
- scripts -
- - - - - -
clean.sh- The clean.sh script file provides functions to remove various artifacts such as build, test, and Python files from the project directory
- It helps maintain a clean project structure by deleting unnecessary files and directories, enhancing the overall codebase hygiene.
-
-
-
- src -
- - - - - - - - - - - - - -
cli.py- Configure CLI settings for the README-AI Streamlit web app, allowing users to customize various aspects such as repository link, API key, badge style, and project logo
- The settings enable users to generate README files with specific language models, header styles, and table of contents formatting, enhancing the overall presentation of their projects.
app.py- The code in src/app.py serves as the main function for a Streamlit web app that generates README files using AI
- It initializes session state variables, configures the app layout, and handles the generation and display of README content
- Users can preview, download, and copy the generated README file.
commands.py- Generates CLI commands for the README-AI Streamlit web app, facilitating the execution of commands and handling output
- The code file in src/commands.py constructs commands for processing repositories, incorporating various parameters like API key, emojis, badge styling, and model options
- It executes the commands, displaying logs and handling errors effectively.
-
-
-
- ---- - -## ๐Ÿš€ Getting Started - -### ๐Ÿ“‹ Prerequisites - -Before getting started with readme-ai-streamlit, ensure your runtime environment meets the following requirements: - -- **Programming Language:** Python -- **Package Manager:** Poetry - - -### ๐Ÿ“ฆ Installation - -Install readme-ai-streamlit using one of the following methods: - -**Build from source:** - -1. Clone the readme-ai-streamlit repository: -```sh -โฏ git clone https://github.com/eli64s/readme-ai-streamlit -``` - -2. Navigate to the project directory: -```sh -โฏ cd readme-ai-streamlit -``` - -3. Install the project dependencies: - - -**Using `poetry`**   [](https://python-poetry.org/) - -```sh -โฏ poetry install -``` - - - - -### ๐Ÿค– Usage - -Run readme-ai-streamlit using the following command: - -**Using `poetry`**   [](https://python-poetry.org/) - -```sh -โฏ poetry run python {entrypoint} -``` - - - -### ๐Ÿงช Testing - -Run the test suite using the following command: - -**Using `poetry`**   [](https://python-poetry.org/) - -```sh -โฏ poetry run pytest -``` - - - -## ๐Ÿ“Œ Roadmap - -- [X] **`Task 1`**: Implement feature one. -- [ ] **`Task 2`**: Implement feature two. -- [ ] **`Task 3`**: Implement feature three. - ---- - -## ๐Ÿ”ฐ Contributing - -Contributions are welcome! Here are several ways you can contribute: - -- **[Report Issues](https://github.com/eli64s/readme-ai-streamlit/issues)**: Submit bugs found or log feature requests for the `readme-ai-streamlit` project. -- **[Submit Pull Requests](https://github.com/eli64s/readme-ai-streamlit/blob/main/CONTRIBUTING.md)**: Review open PRs, and submit your own PRs. -- **[Join the Discussions](https://github.com/eli64s/readme-ai-streamlit/discussions)**: Share your insights, provide feedback, or ask questions. - -
-Contributing Guidelines - -1. **Fork the Repository**: Start by forking the project repository to your github account. -2. **Clone Locally**: Clone the forked repository to your local machine using a git client. - ```sh - git clone https://github.com/eli64s/readme-ai-streamlit - ``` -3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name. - ```sh - git checkout -b new-feature-x - ``` -4. **Make Your Changes**: Develop and test your changes locally. -5. **Commit Your Changes**: Commit with a clear message describing your updates. - ```sh - git commit -m 'Implemented new feature x.' - ``` -6. **Push to github**: Push the changes to your forked repository. - ```sh - git push origin new-feature-x - ``` -7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and their motivations. -8. **Review**: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution! -
- -
-Contributor Graph -
-

- - - -

-
- ---- - -## ๐ŸŽ— License - -This project is protected under the [SELECT-A-LICENSE](https://choosealicense.com/licenses) License. For more details, refer to the [LICENSE](https://choosealicense.com/licenses/) file. - ---- - -## ๐Ÿ™Œ Acknowledgments - -- List any resources, contributors, inspiration, etc. here. - ---- diff --git a/pyproject.toml b/pyproject.toml index 0e79c335..ac6c7591 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "readmeai" -version = "0.5.99" +version = "0.5.99.post1" description = "Automated README file generator, powered by AI." authors = ["Eli "] license = "MIT" @@ -8,21 +8,24 @@ readme = "README.md" homepage = "https://github.com/eli64s/readme-ai" documentation = "https://eli64s.github.io/readme-ai" keywords = [ - "ai", "ai-documentation", + "anthropic", "badge-generator", + "cli", "developer-tools", - "devtools", "documentation", "documentation-generator", + "gemini", + "gpt", + "gpt-4", "markdown", "markdown-generator", - "python", - "readme", - "readme-generator", + "markdown-md", "readme-md", "readme-md-generator", + "readme-generator", "readme-template", + "readme-md-generator", ] include = ["readmeai", "readmeai.*"] @@ -42,10 +45,10 @@ pyyaml = "^6.0.1" structlog = "^24.4.0" tenacity = "^8.2.2" tiktoken = "^0.4.0" -tomli = {version = "*", python = "<3.11"} +tomli = { version = "*", python = "<3.11" } -anthropic = {version = "*", optional = true} -google-generativeai = {version = "*", optional = true} +anthropic = { version = "*", optional = true } +google-generativeai = { version = "*", optional = true } [tool.poetry.extras] anthropic = ["anthropic"] @@ -68,7 +71,7 @@ pytest-xdist = "*" [tool.poetry.group.docs.dependencies] mkdocs = "*" mkdocs-git-revision-date-localized-plugin = "*" -mkdocs-material = {version = "^9.5.39", extras = ["imaging"]} +mkdocs-material = { version = "*", extras = ["imaging"] } mkdocs-minify-plugin = "*" [tool.poetry.group.anthropic.dependencies] @@ -79,7 +82,7 @@ google-generativeai = "*" [tool.pytest.ini_options] addopts = [ - "-vvv", + "-vv", "-rfEsxX", "--durations=10", "--numprocesses=auto", diff --git a/readmeai/config/settings/tool_config.toml b/readmeai/config/settings/tool_config.toml index aa5f5ee8..c78c04cd 100644 --- a/readmeai/config/settings/tool_config.toml +++ b/readmeai/config/settings/tool_config.toml @@ -3,9 +3,9 @@ # -- Docker -------------------------------------------------------------------- [default] -install = "โฏ echo 'INSERT-INSTALL-COMMAND-HERE'" -usage = "โฏ echo 'INSERT-RUN-COMMAND-HERE'" -test = "โฏ echo 'INSERT-TEST-COMMAND-HERE'" +install = "echo 'INSERT-INSTALL-COMMAND-HERE'" +usage = "echo 'INSERT-RUN-COMMAND-HERE'" +test = "echo 'INSERT-TEST-COMMAND-HERE'" [containers] name = "Docker"