Skip to main content

scons build system extension

Project description

// If you are reading this in plaintext or on PyPi, checkout the rendered version
// at https://gitlab.dev.ifs.hsr.ch/ifs/sconsider/blob/master/README.adoc
== SConsider

https://gitlab.dev.ifs.hsr.ch/ifs/sconsider[SConsider] is a https://scons.org[SCons] extension to provide a recursive target detection and dependency handling mechanism.

Instead of manually tracking locations of dependent projects and files, https://gitlab.dev.ifs.hsr.ch/ifs/sconsider[SConsider] will scan your directory tree for `*.sconsider` files and interpret the setting for building up the _package_ and it’s _targets_ during a later phase.
To reference a _target_ from another _package_, you can simply reference it like `SomePackage.TargetA`.

=== Install the development version into your virtualenv

Please check the https://packaging.python.org/distributing/#working-in-development-mode[packaging] information to learn more about this topic.

==== Install

The following command installs a development version into the current virtualenv: `pip install --editable .`
If you want to omit installing dependencies, add `--no-deps` to the command.

Alternatively you can use the _old style_ command: `python setup.py develop`

==== Uninstall

To uninstall a previously installed editable version use: `pip uninstall sconsider`

In case you used the _old style_ command, you need to use the following command: `python setup.py develop --uninstall`

=== Running tests

I recommend using http://tox.testrun.org/[tox] to execute the tests as it properly sets up the right environment.
To see a list of available test environment to execute, list them using `tox -l` and either

* run the default environment(s) `tox`
* run a specific environment `tox -e some-env`

=== Create a source/wheel package

The http://python-packaging-user-guide.readthedocs.org/en/latest/tutorial.html[packaging guide] will show you how to deploy a package and a short http://wheel.readthedocs.org/en/latest[guide on wheels] will explain you what wheels are.

Creating a wheel package is also handled by http://tox.testrun.org/[tox] and the corresponding environment is `wheel`.
It will create the wheel package and if you additionally want to get a source tarball, you can add `sdist` as argument to tox like: `tox -e wheel sdist`

=== (Test-) Upload to pypi

A specific http://tox.testrun.org/[tox] environment `upload` exists in link:tox.ini#L96[tox.ini] which can be used to either https://test.pypi.org/legacy/[test upload] the package or to finally upload it to https://pypi.org/pypi[pypi].
More on this can be found https://mail.python.org/pipermail/distutils-sig/2017-June/030766.html[in this thread] and in the https://packaging.python.org/guides/using-testpypi/#using-t[python packaging docu].

In order to run this environment, a `~/.pypirc` containing at least the following sections must exist and you need to register on both sites:

[source,ini]
----
[distutils]
index-servers =
pypi
testpypi
[pypi]
#recommended to leave default
#repository:https://pypi.org/pypi
username:MyPypiUserName
password:MyPypiPass
[testpypi]
repository:https://test.pypi.org/legacy/
username:MyTestpypiUserName
password:MyTestpypiPass
----

Issue the following command to test the package, `testpypi` is the default upload location:

tox -e upload

or use the following to finally upload it to https://pypi.org/pypi[pypi]:

PYPI_REPO_NAME=pypi tox -e upload

To use a different https://pypi.org/pypi[pypi] `rc` file, use `PYPIRC_LOCATION=/path/to/pypirc` prefix to the previous commands.

=== Overview of available `setup.py` commands

To get an overview of available commands use:

python setup.py --help-commands

Help regarding a specific command can be retrieved using:

python setup.py <command> --help


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

SConsider-0.3.21.tar.gz (141.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

SConsider-0.3.21-py2-none-any.whl (159.3 kB view details)

Uploaded Python 2

File details

Details for the file SConsider-0.3.21.tar.gz.

File metadata

  • Download URL: SConsider-0.3.21.tar.gz
  • Upload date:
  • Size: 141.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.6.1 requests/2.25.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/2.7.12

File hashes

Hashes for SConsider-0.3.21.tar.gz
Algorithm Hash digest
SHA256 6bad7601ab97d05c5e5f94093dfa91677db7427e5d315f112e164de79103053d
MD5 7ecf3d280c0da31ade437ad908c77a5f
BLAKE2b-256 a6c4dd9bf4f4cad8a9cecbcc562b2b2bdf526add67807fc9f1eab55f6e5d8c21

See more details on using hashes here.

File details

Details for the file SConsider-0.3.21-py2-none-any.whl.

File metadata

  • Download URL: SConsider-0.3.21-py2-none-any.whl
  • Upload date:
  • Size: 159.3 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.6.1 requests/2.25.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/2.7.12

File hashes

Hashes for SConsider-0.3.21-py2-none-any.whl
Algorithm Hash digest
SHA256 eec9dab3358d2c4443ee3cf9538aeeca7f3729f80ea62fc28722a304003f84c7
MD5 e30fa9dcce277f18bf8c9eb71aec2f89
BLAKE2b-256 e83b8da913326c883b56ff4a460b5b02fa0bcbdd292ba0e5d17c5c7fab2132c0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page