Package: autora-experimentalist-poppernet
AutoRA TemplateQuickstart GuideInstall this in an environment using your chosen package manager. In this example we are using virtualenvInstall:python (3.8 or greater):https://www.python.org/downloads/virtualenv:https://virtualenv.pypa.io/en/latest/installation.htmlCreate a new virtual environment:virtualenvvenvActivate it:sourcevenv/bin/activateUsepip installto install the current project (".") in editable mode (-e) with dev-dependencies ([dev]):pipinstall-e".[dev]"Add your contributionYour autora-subpackage should include (1) your code implementing in the respective folder of src/autora/*,
(2)unit testsfor your contribution in the tests folder, and (3) respectivedocumentation. (4) Update the README.md file
(5) Delete all folders in src/autora that don't contain your contributionAdding your code implementationAdd your code implementation to src/autora/theorist, src/autora/experimentalist or src/autora/experiment_runner. You can create new categories if none of them seems fitting.Adding testsYou should also add tests. These can bedoctestsor as test cases intests/test_your_contribution_name.py.Adding documentationYou may document your contribution indocs/index.md. You can also add new pages in thedocsfolderUpdate themkdocs.ymlfile to reflect structure of the documentation. For example, you can add new pages or delete pages that you deleted from thedocsfolder.Add new dependenciesIn pyproject.toml add the new dependencies underdependenciesInstall the added dependenciespipinstall-e".[dev]"Publishing the packageUpdate the metadata underprojectin the pyproject.toml file to include name, description, author-name, author-email and version.
Also, update the URL for the repository underproject.urls.Follow the guide here:https://packaging.python.org/en/latest/tutorials/packaging-projects/Build the package using:python-mbuildPublish the package to PyPI usingtwine:twineuploaddist/*Publishing with GitHub actionsTo automate the publishing process for your package, you can use a GitHub action instead of Twine:Add the GitHub action to the.github/workflowsdirectory: For example, you can use the default publishing action:Navigate to theactionson the GitHub website of your repository.Search for thePublish Python Packageaction and add it to your projectCreate a new release: Click oncreate new releaseon the GitHub website of your repository.Choose a tag (this is the version number of the release. If you didn't set up dynamic versioning it should match the version in thepyproject.tomlfile)Generate release notes automatically by clickinggenerate release, which adds the markdown of the merged pull requests and the contributors.If this is a pre-release check the boxset as pre-releaseClick onpublish releaseDynamic versioningTo automatically generate the version number for each release, you can use dynamic versioning instead of updating the version number manually. To set this up, you need to alter thepyproject.tomlfile:Replaceversion = "..."withdynamic = ["version"]underprojectReplace thebuild-systemsection with the following:[build-system]requires=["setuptools","setuptools_scm"]build-backend="setuptools.build_meta"Add a new section to thepyproject.tomlfile:[tool.setuptools_scm]Dynamic versioning: Publishing usingtwineIf you are using dynamic versioning with Twine, follow these steps to publish your package:Commit all of your changes.Tag the commit: Create an annotated Git tag at the commit you want to release. This is typically the most recent commit on your main branch. For example, you can rungit tag -a 1.0.0ato create a tag named "1.0.0a" at the current commit.Build and release the package using Twine as described in the above section.Dynamic versioning: Publishing via GitHub actionsYou can use dynamic versioning with the GitHub action described in the previous section. The workflow remains the same, but you don't have to update the version in thepyproject.tomlfile.Workflows...