Metadata-Version: 2.4
Name: startfast
Version: 0.1.0
Summary: A comprehensive FastAPI project generator
Author-email: StartFast Team <ab.adelodun@gmail.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/Incognitol07/startfast
Project-URL: Repository, https://github.com/Incognitol07/startfast
Project-URL: Issues, https://github.com/Incognitol07/startfast/issues
Keywords: fastapi,generator,template,project,scaffolding
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Code Generators
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Framework :: FastAPI
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: Jinja2>=3.0.0
Requires-Dist: click>=8.0.0
Requires-Dist: rich>=12.0.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: PyYAML>=6.0
Requires-Dist: colorama>=0.4.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: black>=22.0.0; extra == "dev"
Requires-Dist: isort>=5.0.0; extra == "dev"
Requires-Dist: flake8>=5.0.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: pre-commit>=2.20.0; extra == "dev"
Dynamic: license-file

<div align="center">

# ⚡ StartFast

### *The Ultimate FastAPI Project Generator*

*Create scalable, production-ready FastAPI projects in seconds*

[![PyPI version](https://badge.fury.io/py/startfast.svg)](https://badge.fury.io/py/startfast)
[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

</div>

---

## ✨ Features

<table>
  <tr>
    <td>🚀 <strong>Project Types</strong></td>
    <td>API • CRUD • ML-API • Microservice</td>
  </tr>
  <tr>
    <td>💾 <strong>Databases</strong></td>
    <td>SQLite • PostgreSQL • MySQL • MongoDB • Redis</td>
  </tr>
  <tr>
    <td>🔐 <strong>Authentication</strong></td>
    <td>JWT • OAuth2 • API Key • None</td>
  </tr>
  <tr>
    <td>🐳 <strong>DevOps Ready</strong></td>
    <td>Docker • Docker Compose • Production configs</td>
  </tr>
  <tr>
    <td>📊 <strong>Observability</strong></td>
    <td>Monitoring • Logging • Health checks</td>
  </tr>
  <tr>
    <td>⚡ <strong>Performance</strong></td>
    <td>Async/Sync • Background tasks • Caching</td>
  </tr>
  <tr>
    <td>🧪 <strong>Quality</strong></td>
    <td>Testing suite • Code formatting • Documentation</td>
  </tr>
</table>

## 📦 Installation

### 🎯 Quick Install

```bash
pip install startfast
```

### 🛠️ Development Install

```bash
git clone https://github.com/Incognitol07/startfast.git
cd startfast
pip install -e .
```

---

## 🚀 Quick Start

### ⚡ Generate Your First Project

```bash
startfast my-awesome-api
```

### 🎨 Custom Configuration

```bash
startfast my-api --type crud --database postgresql --auth jwt --advanced
```

---

## 🎯 Usage

### 📋 Command Syntax

```bash
startfast PROJECT_NAME [OPTIONS]
```

### ⚙️ Configuration Options

| Option | Description | Values |
|--------|-------------|--------|
| `--path` | Project directory | Directory path |
| `--type` | Project architecture | `api`, `crud`, `ml-api`, `microservice` |
| `--database` | Database backend | `sqlite`, `postgresql`, `mysql`, `mongodb`, `redis` |
| `--auth` | Authentication method | `none`, `jwt`, `oauth2`, `api-key` |
| `--sync` | Synchronous implementation | Flag |
| `--advanced` | Advanced features | Flag |
| `--no-docker` | Skip Docker setup | Flag |
| `--no-tests` | Skip test configuration | Flag |
| `--no-docs` | Skip documentation | Flag |
| `--monitoring` | Include observability | Flag |
| `--celery` | Background task support | Flag |
| `--python-version` | Python version | Version string (default: 3.11) |
| `--force` | Overwrite existing files | Flag |

### 🌟 Usage Examples

<details>
<summary><strong>🔧 Simple API with SQLite</strong></summary>

```bash
startfast simple-api
```
</details>

<details>
<summary><strong>🗄️ CRUD API with PostgreSQL and JWT</strong></summary>

```bash
startfast crud-api --type crud --database postgresql --auth jwt
```
</details>

<details>
<summary><strong>🤖 ML API with Advanced Features</strong></summary>

```bash
startfast ml-service --type ml-api --advanced --monitoring
```
</details>

<details>
<summary><strong>🏗️ Microservice with MongoDB and Celery</strong></summary>

```bash
startfast micro-service --type microservice --database mongodb --celery
```
</details>

---

## 🏗️ Project Architecture

Generated projects follow a **clean, scalable structure**:

```
📁 my-project/
├── 📂 app/
│   ├── 🐍 __init__.py
│   ├── 🚀 main.py                 # FastAPI app entry point
│   ├── 📂 core/
│   │   ├── ⚙️ config.py          # Configuration management
│   │   └── 🔐 security.py        # Authentication & security
│   ├── 📂 api/
│   │   └── 📂 v1/                # API version 1
│   ├── 📂 models/                # Database models
│   ├── 📂 schemas/               # Pydantic schemas
│   ├── 📂 services/              # Business logic
│   └── 📂 utils/                 # Helper functions
├── 📂 tests/                     # Test suite
├── 📂 docs/                      # Documentation
├── 📄 requirements.txt           # Dependencies
├── 🐳 Dockerfile                # Container configuration
├── 🐙 docker-compose.yml        # Multi-service setup
└── 📖 README.md                 # Project documentation
```

---

## 🛠️ Development

### 🚧 Setup Development Environment

```bash
# Clone the repository
git clone https://github.com/Incognitol07/startfast.git
cd startfast

# Install in development mode
pip install -e ".[dev]"

# Setup pre-commit hooks
pre-commit install
```

### 🧪 Running Tests

```bash
pytest                    # Run all tests
pytest -v                 # Verbose output
pytest --cov              # With coverage report
```

### 🎨 Code Quality

```bash
black .                   # Format code
isort .                   # Sort imports
flake8 .                  # Lint code
mypy .                    # Type checking
```

---

## 🤝 Contributing

We welcome contributions! Here's how to get started:

### 🔄 Contribution Workflow

1. **🍴 Fork** the repository
2. **🌿 Create** your feature branch
   ```bash
   git checkout -b feature/amazing-feature
   ```
3. **💾 Commit** your changes
   ```bash
   git commit -m 'Add some amazing feature'
   ```
4. **📤 Push** to the branch
   ```bash
   git push origin feature/amazing-feature
   ```
5. **🔀 Open** a Pull Request

### 📝 Contribution Guidelines

- Write clear, concise commit messages
- Add tests for new features
- Update documentation as needed
- Follow the existing code style
- Ensure all tests pass

---

## 📄 License

This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.

---

## 🗺️ Roadmap

### 🔮 Upcoming Features

- [ ] 🌐 **Web UI** for project generation
- [ ] 📊 **More database adapters** (ClickHouse, TimescaleDB)
- [ ] 🎨 **Custom template support**
- [ ] 🔌 **Plugin system** for extensibility
- [ ] 💻 **IDE integrations** (VS Code, PyCharm)
- [ ] ☁️ **Cloud deployment templates**
- [ ] 📱 **Mobile-first API templates**

---

## 📞 Support & Community

<div align="center">

### � Get Help & Connect

[![Email](https://img.shields.io/badge/Email-ab.adelodun%40gmail.com-blue?style=for-the-badge&logo=gmail)](mailto:ab.adelodun@gmail.com)
[![GitHub Issues](https://img.shields.io/badge/Issues-Report%20Bug-red?style=for-the-badge&logo=github)](https://github.com/Incognitol07/startfast/issues)
[![GitHub Discussions](https://img.shields.io/badge/Discussions-Join%20Community-green?style=for-the-badge&logo=github)](https://github.com/Incognitol07/startfast/discussions)

### 🌟 Show Your Support

If StartFast helped you build amazing projects, consider giving it a ⭐!

[![Star on GitHub](https://img.shields.io/github/stars/Incognitol07/startfast?style=social)](https://github.com/Incognitol07/startfast)

</div>

---

<div align="center">

**Made with ❤️ by developers, for developers**

*Happy coding! 🚀*

</div>
