MagPy é uma API RESTful desenvolvida em Python, utilizando Flask e SQLAlchemy, para gerenciar uma coleção de projetos e pacotes associados, com integração ao PyPI. Este projeto permite a criação, listagem e remoção de projetos e pacotes.
- Criar um Projeto: Crie um projeto com uma lista de pacotes, validando cada pacote no PyPI.
- Listar um Projeto: Consulte um projeto específico e veja a lista de pacotes com nome e versão.
- Excluir um Projeto: Exclua um projeto e todos os pacotes associados a ele.
- Python: Linguagem de programação principal.
- Flask: Framework para criação de APIs REST.
- SQLAlchemy: ORM para gerenciamento de banco de dados.
- SQLite: Banco de dados utilizado para armazenamento local.
main.py: Contém a definição dos endpoints e a lógica principal da API.models.py: Define os modelos de banco de dadosProjectePackage.README.md: Documentação do projeto.requirements.txt: Lista de dependências do projeto.
- Python 3.12+
- Flask e SQLAlchemy (instaladas via `requirements.txt`)
- Clone este repositório:
git clone https://github.com/Alexandre17araujo/magpy.git
cd magpy
python -m venv venv
source venv/bin/activate # Linux
venv\Scripts\activate # Windows
pip install -r requirements.txt
python3.12 main.py
Endpoint: https://link_da_sua_api/projects
Método: POST
Exemplo de Request
{
"name": "meu_projeto",
"packages": [
{"name": "requests", "version": "2.26.0"},
{"name": "flask"}
]
}
{
"message": "Project created successfully"
}
https://link_da_sua_api/projects/nome_projeto
Método: GET
Exemplo de Request:
GET /projects/nome_projeto
{
"name": "nome_projeto",
"packages": [
{"name": "requests", "version": "2.26.0"},
{"name": "flask", "version": "2.0.2"}
]
}
Endpoint: https://link_da_sua_api/projects/nome_projeto
Método: DELETE
Exemplo de Request:
DELETE /projects/nome_projeto
{
"message": "Project deleted"
}
400: Parâmetros inválidos ou projeto/pacote inexistente no PyPI.
404: Projeto não encontrado.
500: Erro interno do servidor.
Abra o Postman.
Configure as requisições conforme os endpoints e exemplos acima.
Verifique o banco de dados para confirmar que as informações estão sendo armazenadas e deletadas corretamente.