nadoo-migration-framework


Namenadoo-migration-framework JSON
Version 0.2.1 PyPI version JSON
download
home_pagehttps://github.com/NADOOIT/nadoo-migration-framework
SummaryA powerful, Git-based migration framework for NADOO Framework projects
upload_time2024-11-24 00:11:33
maintainerNone
docs_urlNone
authorNADOO IT
requires_python<4.0,>=3.8
licenseMIT
keywords nadoo migration framework
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # NADOO Migration Framework

A powerful, Git-based migration framework for NADOO Framework projects. This tool helps you:
- Migrate older NADOO Framework projects to newer versions
- Convert non-NADOO projects to NADOO Framework projects
- Manage dependencies in NADOO Framework projects

## Installation

You can install the NADOO Migration Framework using pip:

```bash
pip install nadoo-migration-framework
```

Or using Poetry:

```bash
poetry add nadoo-migration-framework
```

After installation, the following commands will be available globally in your terminal:

- `nadoo` - Main command with all subcommands
- `nadoo-init` - Quick command to create new projects
- `nadoo-migrate` - Quick command to run migrations
- `nadoo-add` - Quick command to add packages

## Usage

### Creating a New Project

Create a new NADOO Framework project:

```bash
# Using the main command
nadoo init my-project

# Or using the quick command
nadoo-init my-project

# Specify a custom path
nadoo init my-project --path /path/to/projects
```

### Migrating a Project

To migrate a project to the latest NADOO Framework version:

```bash
# In your project directory
nadoo migrate

# Or using the quick command
nadoo-migrate

# Specify a project path
nadoo migrate /path/to/project

# Force migration even if checks fail
nadoo migrate --force
```

The migration tool will:
1. Analyze your project structure
2. Detect if it's a NADOO Framework project or not
3. Determine required migrations
4. Apply migrations with Git-based version control

### Adding Packages

To add a package to your NADOO Framework project:

```bash
# Using the main command
nadoo add package-name

# Or using the quick command
nadoo-add package-name

# Add as development dependency
nadoo add package-name --dev
```

This will:
1. Add the package to your project's dependencies
2. Update your project configuration
3. Install the package using your package manager

## Quick Start: Adding NADOO to Your Project

1. Install the package:
```bash
pip install nadoo-migration-framework
```

2. Create `.github/workflows/nadoo-check.yml` in your project:
```yaml
name: NADOO Framework Check

on:
  push:
    branches: [ main, master ]
  pull_request:
    branches: [ main, master ]
  schedule:
    - cron: '0 0 * * *'  # Daily check

jobs:
  check-nadoo-compatibility:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Set up Python
        uses: actions/setup-python@v4
        with:
          python-version: '3.x'
      - name: Install NADOO Migration Framework
        run: |
          python -m pip install --upgrade pip
          pip install nadoo-migration-framework
      - name: Check NADOO Framework Compatibility
        id: check
        continue-on-error: true
        run: |
          nadoo check --json > nadoo-check.json
```

That's it! The workflow will now:

1. Check your project daily for NADOO compatibility
2. Create issues if migration is needed
3. Automatically create PRs with migration changes
4. Keep your project up to date with the latest NADOO standards

## What Happens Next?

1. If your project needs migration:
   - An issue will be created explaining what needs to be changed
   - A PR will be created with automatic migrations
   - You can review and merge the changes

2. If your project is compatible:
   - The check will pass silently
   - You'll be notified of any new updates

3. If migration fails:
   - An issue will be created with details
   - You can run `nadoo migrate --debug` locally to investigate

## Command Reference

### Main Command (`nadoo`)

The main command with all functionality:

```bash
nadoo [COMMAND] [OPTIONS]

Commands:
  init      Create a new NADOO Framework project
  migrate   Migrate a project to the latest version
  add       Add a package to the project
```

### Quick Commands

Standalone commands for common operations:

- `nadoo-init`: Create new projects
  ```bash
  nadoo-init PROJECT_NAME [--path PATH]
  ```

- `nadoo-migrate`: Run migrations
  ```bash
  nadoo-migrate [PROJECT_PATH] [--force]
  ```

- `nadoo-add`: Add packages
  ```bash
  nadoo-add PACKAGE_NAME [--dev]
  ```

## Features

- **Intelligent Project Analysis**: Automatically detects project type and structure
- **Git Integration**: All migrations are tracked with Git commits
- **Safe Migrations**: Automatic rollback on failure
- **Package Management**: Integrated with NADOO Framework package management
- **Extensible**: Easy to add new migration strategies
- **Global Commands**: Quick access to common operations

## Development

To contribute to the NADOO Migration Framework:

1. Clone the repository:
```bash
git clone https://github.com/NADOOIT/nadoo-migration-framework.git
cd nadoo-migration-framework
```

2. Install dependencies:
```bash
poetry install
```

3. Run tests:
```bash
poetry run pytest
```

## License

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

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/NADOOIT/nadoo-migration-framework",
    "name": "nadoo-migration-framework",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.8",
    "maintainer_email": null,
    "keywords": "nadoo, migration, framework",
    "author": "NADOO IT",
    "author_email": "info@nadoo.it",
    "download_url": "https://files.pythonhosted.org/packages/d3/9c/61fd0c6ab56e02a4bfe78964b3d973aae7cf15be44148be2bb3fdfa1cbd5/nadoo_migration_framework-0.2.1.tar.gz",
    "platform": null,
    "description": "# NADOO Migration Framework\n\nA powerful, Git-based migration framework for NADOO Framework projects. This tool helps you:\n- Migrate older NADOO Framework projects to newer versions\n- Convert non-NADOO projects to NADOO Framework projects\n- Manage dependencies in NADOO Framework projects\n\n## Installation\n\nYou can install the NADOO Migration Framework using pip:\n\n```bash\npip install nadoo-migration-framework\n```\n\nOr using Poetry:\n\n```bash\npoetry add nadoo-migration-framework\n```\n\nAfter installation, the following commands will be available globally in your terminal:\n\n- `nadoo` - Main command with all subcommands\n- `nadoo-init` - Quick command to create new projects\n- `nadoo-migrate` - Quick command to run migrations\n- `nadoo-add` - Quick command to add packages\n\n## Usage\n\n### Creating a New Project\n\nCreate a new NADOO Framework project:\n\n```bash\n# Using the main command\nnadoo init my-project\n\n# Or using the quick command\nnadoo-init my-project\n\n# Specify a custom path\nnadoo init my-project --path /path/to/projects\n```\n\n### Migrating a Project\n\nTo migrate a project to the latest NADOO Framework version:\n\n```bash\n# In your project directory\nnadoo migrate\n\n# Or using the quick command\nnadoo-migrate\n\n# Specify a project path\nnadoo migrate /path/to/project\n\n# Force migration even if checks fail\nnadoo migrate --force\n```\n\nThe migration tool will:\n1. Analyze your project structure\n2. Detect if it's a NADOO Framework project or not\n3. Determine required migrations\n4. Apply migrations with Git-based version control\n\n### Adding Packages\n\nTo add a package to your NADOO Framework project:\n\n```bash\n# Using the main command\nnadoo add package-name\n\n# Or using the quick command\nnadoo-add package-name\n\n# Add as development dependency\nnadoo add package-name --dev\n```\n\nThis will:\n1. Add the package to your project's dependencies\n2. Update your project configuration\n3. Install the package using your package manager\n\n## Quick Start: Adding NADOO to Your Project\n\n1. Install the package:\n```bash\npip install nadoo-migration-framework\n```\n\n2. Create `.github/workflows/nadoo-check.yml` in your project:\n```yaml\nname: NADOO Framework Check\n\non:\n  push:\n    branches: [ main, master ]\n  pull_request:\n    branches: [ main, master ]\n  schedule:\n    - cron: '0 0 * * *'  # Daily check\n\njobs:\n  check-nadoo-compatibility:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n      - name: Set up Python\n        uses: actions/setup-python@v4\n        with:\n          python-version: '3.x'\n      - name: Install NADOO Migration Framework\n        run: |\n          python -m pip install --upgrade pip\n          pip install nadoo-migration-framework\n      - name: Check NADOO Framework Compatibility\n        id: check\n        continue-on-error: true\n        run: |\n          nadoo check --json > nadoo-check.json\n```\n\nThat's it! The workflow will now:\n\n1. Check your project daily for NADOO compatibility\n2. Create issues if migration is needed\n3. Automatically create PRs with migration changes\n4. Keep your project up to date with the latest NADOO standards\n\n## What Happens Next?\n\n1. If your project needs migration:\n   - An issue will be created explaining what needs to be changed\n   - A PR will be created with automatic migrations\n   - You can review and merge the changes\n\n2. If your project is compatible:\n   - The check will pass silently\n   - You'll be notified of any new updates\n\n3. If migration fails:\n   - An issue will be created with details\n   - You can run `nadoo migrate --debug` locally to investigate\n\n## Command Reference\n\n### Main Command (`nadoo`)\n\nThe main command with all functionality:\n\n```bash\nnadoo [COMMAND] [OPTIONS]\n\nCommands:\n  init      Create a new NADOO Framework project\n  migrate   Migrate a project to the latest version\n  add       Add a package to the project\n```\n\n### Quick Commands\n\nStandalone commands for common operations:\n\n- `nadoo-init`: Create new projects\n  ```bash\n  nadoo-init PROJECT_NAME [--path PATH]\n  ```\n\n- `nadoo-migrate`: Run migrations\n  ```bash\n  nadoo-migrate [PROJECT_PATH] [--force]\n  ```\n\n- `nadoo-add`: Add packages\n  ```bash\n  nadoo-add PACKAGE_NAME [--dev]\n  ```\n\n## Features\n\n- **Intelligent Project Analysis**: Automatically detects project type and structure\n- **Git Integration**: All migrations are tracked with Git commits\n- **Safe Migrations**: Automatic rollback on failure\n- **Package Management**: Integrated with NADOO Framework package management\n- **Extensible**: Easy to add new migration strategies\n- **Global Commands**: Quick access to common operations\n\n## Development\n\nTo contribute to the NADOO Migration Framework:\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/NADOOIT/nadoo-migration-framework.git\ncd nadoo-migration-framework\n```\n\n2. Install dependencies:\n```bash\npoetry install\n```\n\n3. Run tests:\n```bash\npoetry run pytest\n```\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A powerful, Git-based migration framework for NADOO Framework projects",
    "version": "0.2.1",
    "project_urls": {
        "Documentation": "https://github.com/NADOOIT/nadoo-migration-framework#readme",
        "Homepage": "https://github.com/NADOOIT/nadoo-migration-framework",
        "Repository": "https://github.com/NADOOIT/nadoo-migration-framework"
    },
    "split_keywords": [
        "nadoo",
        " migration",
        " framework"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e7766694784b04f20ecb485c93c15f6351bb2be32ea90051b4f317f2a410120a",
                "md5": "567f3a716614c39b96ea546a9dab467a",
                "sha256": "08a3bcf5e67c3a26beebf675436c0a3eb4670f2b9ca750c2c7701ea88d1154e3"
            },
            "downloads": -1,
            "filename": "nadoo_migration_framework-0.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "567f3a716614c39b96ea546a9dab467a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.8",
            "size": 69635,
            "upload_time": "2024-11-24T00:11:31",
            "upload_time_iso_8601": "2024-11-24T00:11:31.895483Z",
            "url": "https://files.pythonhosted.org/packages/e7/76/6694784b04f20ecb485c93c15f6351bb2be32ea90051b4f317f2a410120a/nadoo_migration_framework-0.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d39c61fd0c6ab56e02a4bfe78964b3d973aae7cf15be44148be2bb3fdfa1cbd5",
                "md5": "503ce4e7ca7b796cfe66dce616522724",
                "sha256": "f7c66d56f09f6b83c9e2baa64ed0e21dc8dc0648a2f242948c42f0e2bfc5a6f3"
            },
            "downloads": -1,
            "filename": "nadoo_migration_framework-0.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "503ce4e7ca7b796cfe66dce616522724",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.8",
            "size": 50593,
            "upload_time": "2024-11-24T00:11:33",
            "upload_time_iso_8601": "2024-11-24T00:11:33.353766Z",
            "url": "https://files.pythonhosted.org/packages/d3/9c/61fd0c6ab56e02a4bfe78964b3d973aae7cf15be44148be2bb3fdfa1cbd5/nadoo_migration_framework-0.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-24 00:11:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "NADOOIT",
    "github_project": "nadoo-migration-framework",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "nadoo-migration-framework"
}
        
Elapsed time: 0.53255s