felucca


Namefelucca JSON
Version 0.2.5 PyPI version JSON
download
home_page
SummaryCairo dependency management and packaging made easy.
upload_time2022-12-30 22:57:01
maintainer
docs_urlNone
authorFran Algaba
requires_python>=3.9,<3.10
licenseMIT
keywords packaging dependency poetry
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Felucca: Dependency Management for Cairo

[![Test and release](https://github.com/franalgaba/felucca/actions/workflows/release.yml/badge.svg?branch=main)](https://github.com/franalgaba/felucca/actions/workflows/release.yml)
[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1kkrvP-LPoXlkEjeA80E4XYxOcXzbWIFF?usp=sharing)

Felucca helps you declare, manage and install dependencies of Cairo projects, ensuring you have the right stack everywhere.

# Installation

It supports Python 3.9+:

`pip install felucca`

# Introduction

`felucca` is a tool to handle Cairo contracts installation as well as its packaging levaraging Python native capabilities. Felucca uses [Poetry](https://github.com/python-poetry/poetry) under the hood to handle all Python project management using the [standardized](https://peps.python.org/pep-0518/) `pyproject.toml`.

# Why?

Cairo contracts development works very closely with Python for project management, dependency installation and testing. Felucca tries to simplify the process of sharing, installing and managing Cairo contracts between differents projects and working in a more natural manner where packages evolve over time and dependant projects doesn't have to upgrade Cairo contracts manually. Using Felucca's approach to leverage Python capabilties in terms of dependency management and project structure gives many advantages:

* Unified project structure across Cairo packages.
* Rapid adaptation to changes as the ecosystem evolves.
* Compatibility management between Cairo contracts with different Cairo versions.
* Effortless installation for quick usage in new packages.
* Traceability of Cairo packages and releases.
* Global availability of Cairo packages.
* Many more...

# Usage

This tool provides a set of different command to handle all the product lifecycle for dependency and package management. 

## Cairo package project structure creation

`felucca new <package_name>`

This command will create a project structure for Cairo packages from a [template](https://github.com/franalgaba/felucca-package-template) ready to be used for development.

## Cairo package installation

`felucca install felucca-package-example`

This command will install the Cairo package into the project while checking Cairo compatibility, keeping traceability using the `pyproject.toml` file to save required metadata and installing the Cairo contracts into the project.

## Cairo package uninstall

`felucca uninstall felucca-package-example`

This command will remove the Cairo package from the project and all the related metadata.

## Cairo package setup

`felucca setup`

If you want to check if your project is ready to work as a Cairo package this command will check all the needed requirements to do so. If not properly setup it will fix it for you automatically.


            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "felucca",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9,<3.10",
    "maintainer_email": "",
    "keywords": "packaging,dependency,poetry",
    "author": "Fran Algaba",
    "author_email": "f.algaba.work@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/15/97/7d788cd8495ad563241d22f36324eaaca47ca40e8151a51314620b50236a/felucca-0.2.5.tar.gz",
    "platform": null,
    "description": "# Felucca: Dependency Management for Cairo\n\n[![Test and release](https://github.com/franalgaba/felucca/actions/workflows/release.yml/badge.svg?branch=main)](https://github.com/franalgaba/felucca/actions/workflows/release.yml)\n[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1kkrvP-LPoXlkEjeA80E4XYxOcXzbWIFF?usp=sharing)\n\nFelucca helps you declare, manage and install dependencies of Cairo projects, ensuring you have the right stack everywhere.\n\n# Installation\n\nIt supports Python 3.9+:\n\n`pip install felucca`\n\n# Introduction\n\n`felucca` is a tool to handle Cairo contracts installation as well as its packaging levaraging Python native capabilities. Felucca uses [Poetry](https://github.com/python-poetry/poetry) under the hood to handle all Python project management using the [standardized](https://peps.python.org/pep-0518/) `pyproject.toml`.\n\n# Why?\n\nCairo contracts development works very closely with Python for project management, dependency installation and testing. Felucca tries to simplify the process of sharing, installing and managing Cairo contracts between differents projects and working in a more natural manner where packages evolve over time and dependant projects doesn't have to upgrade Cairo contracts manually. Using Felucca's approach to leverage Python capabilties in terms of dependency management and project structure gives many advantages:\n\n* Unified project structure across Cairo packages.\n* Rapid adaptation to changes as the ecosystem evolves.\n* Compatibility management between Cairo contracts with different Cairo versions.\n* Effortless installation for quick usage in new packages.\n* Traceability of Cairo packages and releases.\n* Global availability of Cairo packages.\n* Many more...\n\n# Usage\n\nThis tool provides a set of different command to handle all the product lifecycle for dependency and package management. \n\n## Cairo package project structure creation\n\n`felucca new <package_name>`\n\nThis command will create a project structure for Cairo packages from a [template](https://github.com/franalgaba/felucca-package-template) ready to be used for development.\n\n## Cairo package installation\n\n`felucca install felucca-package-example`\n\nThis command will install the Cairo package into the project while checking Cairo compatibility, keeping traceability using the `pyproject.toml` file to save required metadata and installing the Cairo contracts into the project.\n\n## Cairo package uninstall\n\n`felucca uninstall felucca-package-example`\n\nThis command will remove the Cairo package from the project and all the related metadata.\n\n## Cairo package setup\n\n`felucca setup`\n\nIf you want to check if your project is ready to work as a Cairo package this command will check all the needed requirements to do so. If not properly setup it will fix it for you automatically.\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Cairo dependency management and packaging made easy.",
    "version": "0.2.5",
    "split_keywords": [
        "packaging",
        "dependency",
        "poetry"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "bc8e9c712cf2f1f2d0f1ea6e380adf31",
                "sha256": "8e98e833618a8e708d89759659a3b202c5f82a5d85b826817724311adb04b053"
            },
            "downloads": -1,
            "filename": "felucca-0.2.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "bc8e9c712cf2f1f2d0f1ea6e380adf31",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9,<3.10",
            "size": 7741,
            "upload_time": "2022-12-30T22:57:00",
            "upload_time_iso_8601": "2022-12-30T22:57:00.294514Z",
            "url": "https://files.pythonhosted.org/packages/03/3b/e844e1f84de26527f88bc5950fd6a36e1a89bc13ed2cebb5538d06566711/felucca-0.2.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "beaa274c0e3ee814bbc894a5ee011dba",
                "sha256": "5ee861cde7700be41ce485d763ba41d3a392366a1d27a7afe419c17df813721b"
            },
            "downloads": -1,
            "filename": "felucca-0.2.5.tar.gz",
            "has_sig": false,
            "md5_digest": "beaa274c0e3ee814bbc894a5ee011dba",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9,<3.10",
            "size": 6503,
            "upload_time": "2022-12-30T22:57:01",
            "upload_time_iso_8601": "2022-12-30T22:57:01.505201Z",
            "url": "https://files.pythonhosted.org/packages/15/97/7d788cd8495ad563241d22f36324eaaca47ca40e8151a51314620b50236a/felucca-0.2.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-12-30 22:57:01",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "felucca"
}
        
Elapsed time: 0.02436s