sageproject-organization

Best organization of a Sage Project / Module


I would like to organize my Sage project in a way that reflects best practices. For example, for Python projects https://www.patricksoftwareblog.com/structure-of-a-python-project/ recommends

project_name/  
    project_name/  
        __init__.py  
        ...source code files...  
    test/  
        __init__.py  
        ...unit test files...  
    docs/  
        ...documentation files...  
    project_name.py  
    README.md  
    LICENSE.md  
    requirements.txt  
    .gitignore  

How should this model be modified if I would like a package that can be imported to Sage and a sample jupyter notebook showcasing functionality?


Solution

  • The general rules for Python packages apply.

    If deposited on PyPI, the package will be installable via pip with

    $ pip install PACKAGE_NAME
    

    There is a template for a Sage package at

    with a lot of tips in its README.

    See also some utilities at