Interface PythonProjectOptions

    • Method Detail

      • getModuleName

        @Stability(Experimental)
        @NotNull
        String getModuleName()
        (experimental) Name of the python package as used in imports and filenames.

        Must only consist of alphanumeric characters and underscores.

        Default: $PYTHON_MODULE_NAME

      • getDeps

        @Stability(Experimental)
        @Nullable
        default List<String> getDeps()
        (experimental) List of runtime dependencies for this project.

        Dependencies use the format: <module>@<semver>

        Additional dependencies can be added via project.addDependency().

        Default: []

      • getDevDeps

        @Stability(Experimental)
        @Nullable
        default List<String> getDevDeps()
        (experimental) List of dev dependencies for this project.

        Dependencies use the format: <module>@<semver>

        Additional dependencies can be added via project.addDevDependency().

        Default: []

      • getPip

        @Stability(Experimental)
        @Nullable
        default Boolean getPip()
        (experimental) Use pip with a requirements.txt file to track project dependencies.

        Default: - true, unless poetry is true, then false

      • getPoetry

        @Stability(Experimental)
        @Nullable
        default Boolean getPoetry()
        (experimental) Use poetry to manage your project dependencies, virtual environment, and (optional) packaging/publishing.

        This feature is incompatible with pip, setuptools, or venv. If you set this option to true, then pip, setuptools, and venv must be set to false.

        Default: false

      • getProjenrcJs

        @Stability(Experimental)
        @Nullable
        default Boolean getProjenrcJs()
        (experimental) Use projenrc in javascript.

        This will install projen as a JavaScript dependency and add a synth task which will run .projenrc.js.

        Default: false

      • getProjenrcJsOptions

        @Stability(Experimental)
        @Nullable
        default ProjenrcOptions getProjenrcJsOptions()
        (experimental) Options related to projenrc in JavaScript.

        Default: - default options

      • getProjenrcPython

        @Stability(Experimental)
        @Nullable
        default Boolean getProjenrcPython()
        (experimental) Use projenrc in Python.

        This will install projen as a Python dependency and add a synth task which will run .projenrc.py.

        Default: true

      • getProjenrcPythonOptions

        @Stability(Experimental)
        @Nullable
        default ProjenrcOptions getProjenrcPythonOptions()
        (experimental) Options related to projenrc in python.

        Default: - default options

      • getProjenrcTs

        @Stability(Experimental)
        @Nullable
        default Boolean getProjenrcTs()
        (experimental) Use projenrc in TypeScript.

        This will create a tsconfig file (default: tsconfig.projen.json) and use ts-node in the default task to parse the project source files.

        Default: false

      • getProjenrcTsOptions

        @Stability(Experimental)
        @Nullable
        default ProjenrcTsOptions getProjenrcTsOptions()
        (experimental) Options related to projenrc in TypeScript.

        Default: - default options

      • getPytest

        @Stability(Experimental)
        @Nullable
        default Boolean getPytest()
        (experimental) Include pytest tests.

        Default: true

      • getPytestOptions

        @Stability(Experimental)
        @Nullable
        default PytestOptions getPytestOptions()
        (experimental) pytest options.

        Default: - defaults

      • getSample

        @Stability(Experimental)
        @Nullable
        default Boolean getSample()
        (experimental) Include sample code and test if the relevant directories don't exist.

        Default: true

      • getSetuptools

        @Stability(Experimental)
        @Nullable
        default Boolean getSetuptools()
        (experimental) Use setuptools with a setup.py script for packaging and publishing.

        Default: - true, unless poetry is true, then false

      • getVenv

        @Stability(Experimental)
        @Nullable
        default Boolean getVenv()
        (experimental) Use venv to manage a virtual environment for installing dependencies inside.

        Default: - true, unless poetry is true, then false

      • getVenvOptions

        @Stability(Experimental)
        @Nullable
        default VenvOptions getVenvOptions()
        (experimental) Venv options.

        Default: - defaults