Skip to main content

CouchDB OpenAPI scheme generator

Project description

๐Ÿš€ CouchDB OpenAPI Scheme Generator

OpenAPI specification generator for CouchDB - Perfect for developing and debugging applications using CouchDB as a backend

GitHub stars GitHub forks GitHub watchers GitHub issues GitHub pull requests

License Python Version Docker OpenAPI

GitHub repo size GitHub code size in bytes GitHub last commit GitHub contributors

Views Visitor Badge


๐Ÿ“‹ Table of Contents


โœจ Features

Feature Description Status
๐Ÿณ Docker Support Quick CouchDB deployment with Docker Compose โœ… Ready
๐Ÿ“„ OpenAPI 3.0 Modern OpenAPI specification generator โœ… Ready
๐Ÿ”ง CLI Tool Easy-to-use command-line interface โœ… Ready
๐Ÿ“Š JSON/YAML Support for both JSON and YAML output formats โœ… Ready
๐Ÿ” Authentication Built-in support for CouchDB authentication โœ… Ready
โšก Fast Setup Get started in minutes โœ… Ready

๐ŸŽฏ Description

This project has been updated for more convenient work with CouchDB and includes:

  • ๐Ÿณ Updated Docker Compose configuration for quick CouchDB deployment
  • ๐Ÿ“„ Modern OpenAPI specification generator for CouchDB API
  • ๐Ÿ› ๏ธ Utilities and tools for interacting with the CouchDB server
  • ๐Ÿš€ Production-ready setup with best practices

๐Ÿ“ฆ Requirements

  • ๐Ÿ Python 3.11 or higher
  • ๐Ÿณ Docker and Docker Compose
  • ๐Ÿ“ฆ uv (Python package manager)

๐Ÿš€ Quick Start

# 1. Clone the repository
git clone https://github.com/SasukeSagara/CouchDB-OpenAPI-scheme-generator.git
cd couchdb-openapi-scheme-generator

# 2. Install dependencies
uv sync

# 3. Start CouchDB
docker-compose up -d

# 4. Generate OpenAPI specification
uv run openapi_generator.py

That's it! ๐ŸŽ‰ Your OpenAPI specification will be generated in couchdb-openapi.json


๐Ÿ’ป Installation

Step 1: Clone the repository

git clone https://github.com/SasukeSagara/CouchDB-OpenAPI-scheme-generator.git
cd couchdb-openapi-scheme-generator

Step 2: Install dependencies

Install dependencies using uv:

uv sync

For development dependencies:

uv sync --dev

๐Ÿ“– Usage

๐Ÿณ Starting CouchDB

Start CouchDB using Docker Compose:

docker-compose up -d

CouchDB will be available at http://localhost:5984

โš ๏ธ Important: Change the password in .env before using in production!

๐Ÿ“„ Generating OpenAPI Specification

Use openapi_generator.py to generate the OpenAPI specification for CouchDB API:

Basic Usage

# Basic usage (local server)
uv run openapi_generator.py

Advanced Usage

# With URL and credentials specified
uv run openapi_generator.py \
  --url http://localhost:5984 \
  --username admin \
  --password your_password

# With custom output file
uv run openapi_generator.py --output couchdb-api.json

# Generate in YAML format
uv run openapi_generator.py \
  --format yaml \
  --output couchdb-api.yaml

# Full example with all options
uv run openapi_generator.py \
  --url http://localhost:5984 \
  --username admin \
  --password your_password \
  --format json \
  --output my-couchdb-api.json

๐Ÿ“‹ Parameters

Parameter Short Description Default
--url -u CouchDB server URL http://localhost:5984
--username - Username for authentication -
--password - Password for authentication -
--output -o Output file name couchdb-openapi.json
--format -f Output format (json or yaml) json

๐ŸŽฎ Running the Main Application

uv run genopenapi_generatorerator.py

๐Ÿ—๏ธ Project Structure

CouchDB-OpenAPI-scheme-generator/
โ”œโ”€โ”€ ๐Ÿ“ couchdb-data/          # CouchDB data (Docker volume)
โ”œโ”€โ”€ ๐Ÿ“ couchdb-etc/           # CouchDB configuration
โ”œโ”€โ”€ ๐Ÿ“„ docker-compose.yml     # Docker Compose configuration
โ”œโ”€โ”€ ๐Ÿ“„ main.py                # Main application file
โ”œโ”€โ”€ ๐Ÿ“„ openapi_generator.py   # OpenAPI specification generator
โ”œโ”€โ”€ ๐Ÿ“„ pyproject.toml         # Python project configuration
โ”œโ”€โ”€ ๐Ÿ“„ uv.lock                # Dependency lock file
โ”œโ”€โ”€ ๐Ÿ“„ .env                   # Environment variables (create this)
โ”œโ”€โ”€ ๐Ÿ“„ .gitignore             # Git ignore rules
โ”œโ”€โ”€ ๐Ÿ“„ LICENSE                # MIT License
โ””โ”€โ”€ ๐Ÿ“„ README.md              # This file

๐Ÿ› ๏ธ Development

Setting Up Development Environment

  1. Clone the repository:

    git clone https://github.com/SasukeSagara/CouchDB-OpenAPI-scheme-generator.git
    cd couchdb-openapi-scheme-generator
    
  2. Install development dependencies:

    uv sync --dev
    
  3. Create .env file:

    cp .env.example .env  # If you have an example file
    # Or create manually with:
    # COUCHDB_USER=admin
    # COUCHDB_PASSWORD=your_secure_password
    
  4. Start CouchDB:

    docker-compose up -d
    
  5. Run tests (if available):

    uv run pytest
    

Code Style

This project follows PEP 8 style guidelines. Consider using:

  • black for code formatting
  • flake8 or ruff for linting
  • mypy for type checking

๐Ÿค Contributing

Contributions are welcome! ๐ŸŽ‰

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contribution Guidelines

  • ๐Ÿ“ Follow the existing code style
  • โœ… Add tests for new features
  • ๐Ÿ“– Update documentation as needed
  • ๐Ÿ› Report bugs using GitHub Issues
  • ๐Ÿ’ก Suggest enhancements using GitHub Discussions

๐Ÿ“ License

This project is distributed under the MIT License. See the LICENSE file for details.

License: MIT


โญ Show Your Support

If you find this project helpful, please consider:

  • โญ Starring this repository
  • ๐Ÿด Forking this repository
  • ๐Ÿ› Reporting bugs
  • ๐Ÿ’ก Suggesting new features
  • ๐Ÿ“– Improving documentation
  • ๐Ÿค Contributing code

Made with โค๏ธ by SasukeSagara

GitHub Open Source

โญ Star this repo if you find it useful! โญ

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

couchdb_openapi_scheme_generator-1.0.2.tar.gz (29.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file couchdb_openapi_scheme_generator-1.0.2.tar.gz.

File metadata

File hashes

Hashes for couchdb_openapi_scheme_generator-1.0.2.tar.gz
Algorithm Hash digest
SHA256 00983e38b1aa0de43fb8f25b558cb33b522a53011a7023252ac56e69d2d79779
MD5 4f218d3bf271de3954eb4eb8f23429d6
BLAKE2b-256 0a757f1c37f72511a74a518357ef31f0153f8204f7c4582878bd0aca9fa7a8ce

See more details on using hashes here.

File details

Details for the file couchdb_openapi_scheme_generator-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for couchdb_openapi_scheme_generator-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 55ca085c7658ebdeccc503009dfbe1ab744df631efe0040a57df938696725ce6
MD5 bf8311a75d8a277e415013ae9d9a6a97
BLAKE2b-256 d6edb00bc81f8fbb76c68dd8fa059e147af46dd784011acc300776e8e9e26adb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page