A CLI tool for managing GraphQL stores
Project description
Documentacion del proyecto GraphQLStore
Resumen del proyecto
GraphQLStore es una aplicacion CLI disenada para gestionar bases de datos usando GraphQL. Esta etapa del proyecto es temprana, con una estructura basica.
Estructura del proyecto
graphqlstore/
├── .github/workflows/ # configuracion CI/CD
├── source/ # codigo fuente
├── tests/ # archivos de prueba
└── (archivos de configuracion)
├── Pipfile # gestion de dependencias
├── Pipfile.lock # bloque de dependencias
├── pyproject.toml # configuracion del proyecto y empaquetado
├── setup.cfg # configuracion adicional de setuptools
├── pytest.ini # configuracion de pytest
├── .pre-commit-config.yaml # configuracion de pre-commit
├── .gitignore # archivos ignorados por git
└── README.md # documentacion del proyecto
└── LICENSE # licencia del proyecto
Implementacionn actual
Funcionalidad principal
La aplicacion actualmente tiene una implementacion minima con:
- Un punto de entrada CLI simple en main.py que muestra un mensaje de bienvenida.
- Estructura basica del proyecto con directorios de codigo fuente y pruebas.
Entorno de desarrollo
Las siguientes herramientas de desarrollo estan configuradas:
-
Gestión de Paquetes
- Uso de Pipfile con pipenv para la gestión de dependencias
- Dependencia principal:
richpara una salida mejorada en terminal - Varias dependencias de desarrollo incluyendo herramientas de prueba y calidad de código
-
Herramientas de calidad de código
- Configuración de
pre-commitpara hooks automáticos - Formateo de código con
black - Análisis estático con
flake8ypylint - Comprobación de tipos con
mypy
- Configuración de
-
Pruebas
- Uso de
pytestpara ejecutar pruebas pytest-covpara medir la cobertura de pruebas- Configuración de
pytest.inipara generar informes de cobertura - Prueba simple en test_main.py que verifica el mensaje de bienvenida
- Uso de
-
Configuración de empaquetado
pyproject.tomlpara definir metadatos del proyecto, dependencias y configuraciones de herramientas- Punto de entrada CLI configurado como
graphqlstore = "source.main:main" setup.cfgpara configuraciones adicionales de setuptools, incluyendo referencia al archivo de licencia
Flujo CI/CD
dos pipelines de CI/CD están configurados para automatizar el proceso de desarrollo y despliegue:
-
CI Pipeline (
.github/workflows/ci.yml):- Ejecuta pruebas y verifica la calidad del código en cada push a la rama principal o en pull requests.
-
CD Pipeline (
.github/workflows/cd.yml):- Desencadenado por etiquetas de versión (v*..)
- Construye el paquete
- Sube artefactos
- Publica en PyPI
- Crea lanzamientos en GitHub
Licencia
El proyecto usa una licencia privada que prohíbe:
- Redistribución
- Modificación
- Creación de obras derivadas
- Uso comercial
- Compartición pública
Inicio rápido
Con el fin de facilitar el inicio rápido del proyecto, se ha configurado un entorno de desarrollo con pipenv. Esto permite gestionar las dependencias y ejecutar scripts de manera sencilla.
# NOTA: Asegúrate de tener pipenv instalado. Si no lo tienes, puedes instalarlo con pip, pipx o tu gestor de paquetes preferido.
# Instalar las dependencias incluidas las de desarrollo
pipenv install --dev
# Opcionalmente, si necesitas una "primera linea de defensa" para la calidad del código, puedes ejecutar:
pipenv run pre-commit install
# Ejecutar las pruebas
pipenv run pytest
# Ejecutar el script principal
pipenv run python source/main.py
La otra es descargando el proyecto desde pypi:
# Instalar el paquete desde PyPI
pip install graphqlstore
# Ejecutar el comando CLI
graphqlstore
Siguientes pasos
El proyecto está en una fase inicial de desarrollo. Los siguientes pasos incluyen:
- Expandir la intefaz CLI para incluir más comandos
- Implementar la funcionalidad de GraphQL
- Agregar capacidades de conexión a bases de datos
- Mejorar la documentación y ejemplos de uso
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file graphqlstore-0.1.0.tar.gz.
File metadata
- Download URL: graphqlstore-0.1.0.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1063ad864db1e60a7e106bed7c842b483c4fe4e06a17382f247eb51e9bc9901
|
|
| MD5 |
78af58a6be82c2c43d069ac438b8d1bf
|
|
| BLAKE2b-256 |
2198c4fe0a50e345866252588b2981e9df5703de3065c317910c44aaaad4a3bb
|
File details
Details for the file graphqlstore-0.1.0-py3-none-any.whl.
File metadata
- Download URL: graphqlstore-0.1.0-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
043536aa0cd4c827cba59ff816a794a154bac69e7ad086af26ead8bccefd2d8e
|
|
| MD5 |
c7a7bfeda7c273277bf17cfd99a1822f
|
|
| BLAKE2b-256 |
c6ce38130a0343aedbde350846b7b72b9a45b511ad6446730e76d646ad2151e7
|