et-micc2


Nameet-micc2 JSON
Version 4.0.0 PyPI version JSON
download
home_pagehttps://github.com/etijskens/et-micc2
SummaryA practical Python project skeleton generator.
upload_time2023-06-14 15:28:42
maintainer
docs_urlNone
authorEngelbert Tijskens
requires_python>=3.6,<4.0
licenseMIT
keywords project management
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            *****
Micc2
*****

.. image:: https://img.shields.io/pypi/v/et-micc2.svg
        :target: https://pypi.python.org/pypi/et-micc2

.. image:: https://readthedocs.org/projects/et-micc2/badge/?version=latest
        :target: https://et-micc2.readthedocs.io/en/latest/?badge=latest
        :alt: Documentation Status

`Micc2_ <https://github.com/etijskens/et-micc2>`_ is a Python project manager: it helps
you organize your Python project from simple single file modules to fully fledged 
Python packages containing modules, sub-modules, apps and binary extension modules 
written in Fortran or C++. Micc2_ organizes your project in a way that is considered good
practice by a large part of the Python community. 

* Micc2_ helps you create new projects. You can start small with a simple one-file 
  package and add material as you go, such as:
  
  * Python **sub-modules** and **sub-packages**,
  * **applications**, also known as command line interfaces (CLIs). 
  * **binary extension modules** written in C++ and Fortran. Boiler plate code is 
    automatically added as to build these binary extension with having to go through
    al the details. This is, in fact, the foremost reason that got me started on this
    project: For *High Performance Python* it is essential to rewrite slow and 
    time consuming parts of a Python script or module in a language that is made 
    for High Performance Computing. As figuring out how that can be done, requires 
    quite some effort, Micc2_ was made to automate this part while maintaining the 
    flexibility. 
  * Micc2_ adds typically files containing example code that shows you how to add your
    own functionality.
    
* You can automatically **extract documentation** from the doc-strings of your files,
  and build html documentation that you can consult in your browser, or a .pdf 
  documentation file.
* With a little extra effort the generated html **documentation is automatically published** 
  to `readthedocs <https://readthedocs.org>`_.
* Micc2_ helps you with **version management and control**.
* Micc2_ helps you with **testing** your code.
* Micc2_ helps you with **publishing** your code to e.g. `PyPI <https://pypi.org>`_, so
  that you colleagues can use your code by simply running::

    > pip install your_nifty_package

Credits
-------
Micc2_ does not do all of this by itself. For many things it relies on other strong 
open source tools. Here is a list of tools micc2_ is using or cooperating with happily:

*   `Pyenv <https://github.com/pyenv/pyenv>`_: management of different Python versions on your desktop.
*   `Poetry <https://python-poetry.org>`_ for packaging and publishing.
*   `Git <https://www.git-scm.com/>`_ for version control.
*   `Pytest <https://www.git-scm.com/>`_ for testing your code.
*   `Sphinx <http://www.sphinx-doc.org/>`_ to extract documentation from your project's
    doc-strings.
*   `CMake <https://cmake.org>`_ is used for building binary extension modules written
    in C++ and Fortran.
*   `F2py <https://docs.scipy.org/doc/numpy/f2py/>`_ for transforming modern Fortran code
    into performant binary extension modules interfacing nicely with numpy arrays.
*   `Pybind11 <https://pybind11.readthedocs.io/en/stable/>`_ as the glue between C++ source
    code and performant binary extension modules, also interfacing nicely with numpy arrays.

Roadmap
=======
These features are still on our wish list:

* Contininous integtration (CI)
* Code style, e.g. `flake8 <http://flake8.pycqa.org/en/latest/>`_ or `black <https://github.com/psf/black>`_
* Profiling
* Gui for debugging C++/Fortran binary extensions
* Micc2 projects on Windows (So far, only support on Linux and MacOS).


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/etijskens/et-micc2",
    "name": "et-micc2",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6,<4.0",
    "maintainer_email": "",
    "keywords": "project management",
    "author": "Engelbert Tijskens",
    "author_email": "engelbert.tijskens@uantwerpen.be",
    "download_url": "https://files.pythonhosted.org/packages/17/1f/532bf05e51e5e092051ea210a1a82ac0130677a43c7b067e15d732dc27fd/et_micc2-4.0.0.tar.gz",
    "platform": null,
    "description": "*****\nMicc2\n*****\n\n.. image:: https://img.shields.io/pypi/v/et-micc2.svg\n        :target: https://pypi.python.org/pypi/et-micc2\n\n.. image:: https://readthedocs.org/projects/et-micc2/badge/?version=latest\n        :target: https://et-micc2.readthedocs.io/en/latest/?badge=latest\n        :alt: Documentation Status\n\n`Micc2_ <https://github.com/etijskens/et-micc2>`_ is a Python project manager: it helps\nyou organize your Python project from simple single file modules to fully fledged \nPython packages containing modules, sub-modules, apps and binary extension modules \nwritten in Fortran or C++. Micc2_ organizes your project in a way that is considered good\npractice by a large part of the Python community. \n\n* Micc2_ helps you create new projects. You can start small with a simple one-file \n  package and add material as you go, such as:\n  \n  * Python **sub-modules** and **sub-packages**,\n  * **applications**, also known as command line interfaces (CLIs). \n  * **binary extension modules** written in C++ and Fortran. Boiler plate code is \n    automatically added as to build these binary extension with having to go through\n    al the details. This is, in fact, the foremost reason that got me started on this\n    project: For *High Performance Python* it is essential to rewrite slow and \n    time consuming parts of a Python script or module in a language that is made \n    for High Performance Computing. As figuring out how that can be done, requires \n    quite some effort, Micc2_ was made to automate this part while maintaining the \n    flexibility. \n  * Micc2_ adds typically files containing example code that shows you how to add your\n    own functionality.\n    \n* You can automatically **extract documentation** from the doc-strings of your files,\n  and build html documentation that you can consult in your browser, or a .pdf \n  documentation file.\n* With a little extra effort the generated html **documentation is automatically published** \n  to `readthedocs <https://readthedocs.org>`_.\n* Micc2_ helps you with **version management and control**.\n* Micc2_ helps you with **testing** your code.\n* Micc2_ helps you with **publishing** your code to e.g. `PyPI <https://pypi.org>`_, so\n  that you colleagues can use your code by simply running::\n\n    > pip install your_nifty_package\n\nCredits\n-------\nMicc2_ does not do all of this by itself. For many things it relies on other strong \nopen source tools. Here is a list of tools micc2_ is using or cooperating with happily:\n\n*   `Pyenv <https://github.com/pyenv/pyenv>`_: management of different Python versions on your desktop.\n*   `Poetry <https://python-poetry.org>`_ for packaging and publishing.\n*   `Git <https://www.git-scm.com/>`_ for version control.\n*   `Pytest <https://www.git-scm.com/>`_ for testing your code.\n*   `Sphinx <http://www.sphinx-doc.org/>`_ to extract documentation from your project's\n    doc-strings.\n*   `CMake <https://cmake.org>`_ is used for building binary extension modules written\n    in C++ and Fortran.\n*   `F2py <https://docs.scipy.org/doc/numpy/f2py/>`_ for transforming modern Fortran code\n    into performant binary extension modules interfacing nicely with numpy arrays.\n*   `Pybind11 <https://pybind11.readthedocs.io/en/stable/>`_ as the glue between C++ source\n    code and performant binary extension modules, also interfacing nicely with numpy arrays.\n\nRoadmap\n=======\nThese features are still on our wish list:\n\n* Contininous integtration (CI)\n* Code style, e.g. `flake8 <http://flake8.pycqa.org/en/latest/>`_ or `black <https://github.com/psf/black>`_\n* Profiling\n* Gui for debugging C++/Fortran binary extensions\n* Micc2 projects on Windows (So far, only support on Linux and MacOS).\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A practical Python project skeleton generator.",
    "version": "4.0.0",
    "project_urls": {
        "Homepage": "https://github.com/etijskens/et-micc2",
        "Repository": "https://github.com/etijskens/et-micc2"
    },
    "split_keywords": [
        "project",
        "management"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "984712491a95df40c5733b1374fb21c5a61c1c3320baf6a138c7effc35f3566f",
                "md5": "e9b3ae9a7c3912a5ddd3a10b78029ed7",
                "sha256": "83ab448d7770d1f4780e9749a1d96e592c55eb37a5f670fac32683549600a148"
            },
            "downloads": -1,
            "filename": "et_micc2-4.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e9b3ae9a7c3912a5ddd3a10b78029ed7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6,<4.0",
            "size": 105967,
            "upload_time": "2023-06-14T15:28:40",
            "upload_time_iso_8601": "2023-06-14T15:28:40.640008Z",
            "url": "https://files.pythonhosted.org/packages/98/47/12491a95df40c5733b1374fb21c5a61c1c3320baf6a138c7effc35f3566f/et_micc2-4.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "171f532bf05e51e5e092051ea210a1a82ac0130677a43c7b067e15d732dc27fd",
                "md5": "079cce4bc9b67f3fdd04d402576dd73e",
                "sha256": "c16b480293841ef66f50a6f69ab7d3a39db855e5ff75ea493fe5f41b74e8802a"
            },
            "downloads": -1,
            "filename": "et_micc2-4.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "079cce4bc9b67f3fdd04d402576dd73e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6,<4.0",
            "size": 82570,
            "upload_time": "2023-06-14T15:28:42",
            "upload_time_iso_8601": "2023-06-14T15:28:42.381208Z",
            "url": "https://files.pythonhosted.org/packages/17/1f/532bf05e51e5e092051ea210a1a82ac0130677a43c7b067e15d732dc27fd/et_micc2-4.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-06-14 15:28:42",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "etijskens",
    "github_project": "et-micc2",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": false,
    "tox": true,
    "lcname": "et-micc2"
}
        
Elapsed time: 0.09992s