# Prepping Project ## UV project management ```shell # I want to use uv for managing the python project cd uv init -v --author-from git --package --vcs git --build-backend uv --color always bpe-jigsaw cd bpe-jigsaw uv add pip # To avoid confusion of using the system pip uv add fastapi httpx pycord cc-ampapi uv add --dev pytest pytest-cov # Applying my preferences sed -Ei 's/"bpe_jigsaw:main"/"bpe_jigsaw.cli:main"/' pyproject.toml mkdir -p src/bpe_jigsaw echo -e "def main() -> None:\n print('TODO')\n\nif __name__ == \"__main__\":\n main()" > src/bpe_jigsaw/cli.py echo -e "from importlib.metadata import version\n" > src/bpe_jigsaw/__init__.py echo -e "try:\n __version__ = version(__package__ or __name__)" >> src/bpe_jigsaw/__init__.py echo -e "exception Exception:\n __version__ = \"0.0.0\"" >> src/bpe_jigsaw/__init__.py echo -e "from bpe_jigsaw.cli import main\n\nif __name__ == '__main__':\n main()" > src/bpe_jigsaw/__main__.py mkdir -p tests curl -L 'https://raw.githubusercontent.com/github/gitignore/refs/heads/main/Python.gitignore' -o .gitignore echo '.secrets' >> .gitignore # For my vscode usage mkdir -p ./.vscode echo -e "{\n \"python.testing.pytestArgs\": [\n \"tests\"\n ],\n \"python.testing.unittestEnabled\": false,\n \"python.testing.pytestEnabled\": true\n}" > ./.vscode/settings.json git add -A . git commit -m "Initial Commit" git remote add origin https://gitea.wolfeden.online/Doc/bpe-jigsaw.git git push -u origin master ``` # Goals for the program ## Initial logical structure - Core Functions - Web page interface - Discord bot interface - Scheduled tasks ### Core - [ ] Import in basic settings file. Toml? Or YAML? ### Amp Interaction - [ ] Authenticate - [ ] List instances ### Web page interface - [ ] Display a landing page ### Discord bot interface - [ ] Connect to Discord ### Scheduled tasks # Possible future modules ## HTML rendering - Jinja. Can do scripting type templating, or just plain templating. # External Refs ## LLM Session for info gathering - **LLM Session:** [LLM session for link searching](https://gemini.google.com/share/429e8dd892f6) - **Pycord** - **Pycord Documentation:** [https://docs.pycord.dev/](https://docs.pycord.dev/) - **Pycord Guide (Tutorials):** [https://guide.pycord.dev/](https://guide.pycord.dev/) - **FastAPI** - **FastAPI Tutorials and User Guide):** [https://fastapi.tiangolo.com/](https://fastapi.tiangolo.com/) - **FastAPI Reference:** [https://fastapi.tiangolo.com/reference/](https://fastapi.tiangolo.com/reference/) - **httpx** - **httpx Documentation (Main Page):** [https://www.python-httpx.org/](https://www.python-httpx.org/) - **httpx QuickStart Guide:** [https://www.python-httpx.org/quickstart/](https://www.python-httpx.org/quickstart/) - **httpx Developer Interface (API Reference):** [https://www.python-httpx.org/api/](https://www.python-httpx.org/api/) - ** AMP API** - [Developers: How do I start working with AMP's API? · CubeCoders/AMP Wiki · GitHub](https://github.com/CubeCoders/AMP/wiki/Developers:-How-do-I-start-working-with-AMP's-API%3F) - http://*-server url-*/api - [GitHub - p0t4t0sandwich/ampapi: A general repo for all things related to my work with the AMP API](https://github.com/p0t4t0sandwich/ampapi) - [ampapi · PyPI](https://pypi.org/project/ampapi/) - [GitHub - k8thekat/AMPAPI\_Python: CubeCoders AMP API for Python](https://github.com/k8thekat/AMPAPI_Python) - [cc-ampapi · PyPI](https://pypi.org/project/cc-ampapi/)