SpiNNakerManchester / PACMAN

Partition and Configuration Manager for SpiNNaker
Apache License 2.0
9 stars 7 forks source link

Pyproject.toml #500

Closed dkfellows closed 1 year ago

dkfellows commented 1 year ago

Converts to the newer way of doing setup. https://github.com/SpiNNakerManchester/SpiNNUtils/pull/222 https://github.com/SpiNNakerManchester/SpiNNMachine/pull/196 https://github.com/SpiNNakerManchester/SpiNNMan/pull/317 https://github.com/SpiNNakerManchester/DataSpecification/pull/137 https://github.com/SpiNNakerManchester/TestBase/pull/31 https://github.com/SpiNNakerManchester/SpiNNFrontEndCommon/pull/1038 https://github.com/SpiNNakerManchester/sPyNNaker/pull/1317 https://github.com/SpiNNakerManchester/SpiNNakerGraphFrontEnd/pull/242 https://github.com/SpiNNakerManchester/SpiNNGym/pull/72 https://github.com/SpiNNakerManchester/IntroLab/pull/45 https://github.com/SpiNNakerManchester/MarkovChainMonteCarlo/pull/46 https://github.com/SpiNNakerManchester/microcircuit_model/pull/30 https://github.com/SpiNNakerManchester/PyNN8Examples/pull/102 https://github.com/SpiNNakerManchester/sPyNNaker8NewModelTemplate/pull/100 https://github.com/SpiNNakerManchester/SpiNNaker_PDP2/pull/72 https://github.com/SpiNNakerManchester/Visualiser/pull/23 https://github.com/SpiNNakerManchester/sPyNNakerVisualisers/pull/32 https://github.com/SpiNNakerManchester/spalloc/pull/79 https://github.com/SpiNNakerManchester/spalloc_server/pull/83 https://github.com/SpiNNakerManchester/spinn_common/pull/59 https://github.com/SpiNNakerManchester/SpiNNakerManchester.github.io/pull/45

tested by which must also be merged in https://github.com/SpiNNakerManchester/IntegrationTests/pull/189

Docs checked by: https://github.com/SpiNNakerManchester/sphinx8/branches

Note: This is not yet a PR as https://github.com/SpiNNakerManchester/sphinx8/blob/pyproject.toml/doc/doc_requirements.txt needs the branch name changed back to master before Note the -e have been removed

Support scripts changes already in master as impossible to test from a branch. however: https://github.com/SpiNNakerManchester/SupportScripts/tree/master/actions/checkout-spinn-deps https://github.com/SpiNNakerManchester/SupportScripts/tree/master/actions/run-setup could now be removed as they are the old way

If we need to add in pacman_test_objects, then the best way is probably to alter the [options.packages.find] include directive to:

[options.packages.find]
include =
        pacman
        pacman_test_objects

We don't want the tests themselves to be part of the installed package.

Christian-B commented 1 year ago

\the include = tip from above appears to be working as now Jenkins passes

Christian-B commented 1 year ago

Will be worth comparing this to https://packaging.python.org/en/latest/tutorials/packaging-projects/

Christian-B commented 1 year ago

Suggest doing [options.packages.find] include = xyz

in all repositories to hide unittests

Christian-B commented 1 year ago

Due to https://github.com/pypa/setuptools/issues/1871 it is better to delete build and egg-info dirs.

This only affects when building for a second time

Christian-B commented 1 year ago

[options.packages.find] include = pacman pacman_test_objects

needs to be: [options.packages.find] include = pacman pacman. pacman_test_objects pacman_test_objects.

The pacman picks up that directory but not children pacman. picks up the children but not the main directory pacman_test_objects. is currently optional as it has no children

Christian-B commented 1 year ago

spalloc still has a tox.ini. Left for later pr https://github.com/SpiNNakerManchester/spalloc/issues/78

Christian-B commented 1 year ago

spalloc.egg-info/SOURCES.txt includes some but not all test files. Only the ones with the tests/test_ pattern.

Removing the tox.ini did not change this.

Christian-B commented 1 year ago

I have decided to only include spynnaker code and not spynnaker8 code as that is deprecated and due to be removed shortly.

Christian-B commented 1 year ago

need to include the cfg and other support files like: [options.package_data]

also json schema and DDL sql files