# 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"
}