Package: apicuron-client
APICURON ClientAn unofficial client for interacting with theAPICURONcuration
metadatabase.💪 Getting StartedThe following example shows how you can prepare a submission of a new resource
to APICURON. Becauseapicuron_clientuses PyDantic under the hood, the JSON
is validated and automatically converted into programmatic models. TheDescription.update_remote()function takes care of interacting with the API
and loading theAPICURON_TOKENfrom the environment or a config file withpystow.fromapicuron_clientimportDescriptionpayload={"resource_id":"Biomappings","resource_name":"Biomappings","resource_uri":"https://biomappings.github.io/biomappings/","resource_url":"https://biomappings.github.io/biomappings/","resource_long_name":"Biomappings","resource_description":"Community curated and predicted equivalences and related mappings between named biological entities that are not available from primary sources.","terms_def":[{"activity_term":"novel_curation","activity_name":"Curated novel mapping","activity_category":"generation","score":50,"description":"Curated a novel mapping between two entities"},{"activity_term":"validate_prediction","activity_name":"Validate predicted mapping","activity_category":"generation","score":50,"description":"Affirmed the correctness of a predicted mapping"},{"activity_term":"invalidate_prediction","activity_name":"Invalidate predicted mapping","activity_category":"generation","score":50,"description":"Affirmed the incorrectness of a predicted mapping"}],"achievements_def":[{"category":"1","name":"Newbie curator","count_threshold":10,"type":"badge","list_terms":["novel_curation","validate_prediction","invalidate_prediction"],"color_code":"#055701"}]}description=Description(**payload)description.update_remote()The results can then be seen on the APICURON website athttps://apicuron.org/database?resource_uri=https:%2F%2Fbiomappings.github.io%2Fbiomappings%2F.🚀 InstallationThe most recent release can be installed fromPyPIwith:$pipinstallapicuron_clientThe most recent code and data can be installed directly from GitHub with:$pipinstallgit+https://github.com/cthoyt/apicuron-client.gitTo install in development mode, use the following:$gitclonegit+https://github.com/cthoyt/apicuron-client.git
$cdapicuron-client
$pipinstall-e.👐 ContributingContributions, whether filing an issue, making a pull request, or forking, are appreciated. SeeCONTRIBUTING.rstfor more information on getting involved.👀 Attribution⚖️ LicenseThe code in this package is licensed under the MIT License.📖 CitationThis project isn't officially from the APICURON team, but if you like it, please cite their
paper:@article{Hatos2021,author={Hatos, Andr{\'{a}}s and Quaglia, Federica and Piovesan, Damiano and Tosatto, Silvio C E},doi={10.1093/database/baab019},issn={1758-0463},journal={Database},month={apr},title={{APICURON: a database to credit and acknowledge the work of biocurators}},url={https://academic.oup.com/database/article/doi/10.1093/database/baab019/6244733},volume={2021},year={2021}}Acknowledgements🍪 CookiecutterThis package was created with@audreyfeldroy'scookiecutterpackage using@cthoyt'scookiecutter-snekpacktemplate.🛠️ For DevelopersThe final section of the README is for if you want to get involved by making a code contribution.❓ TestingAfter cloning the repository and installingtoxwithpip install tox, the unit tests in thetests/folder can be
run reproducibly with:$toxAdditionally, these tests are automatically re-run with each commit in aGitHub Action.📦 Making a ReleaseAfter installing the package in development mode and installingtoxwithpip install tox, the commands for making a new release are contained within thefinishenvironment
intox.ini. Run the following from the shell:$tox-efinishThis script does the following:Uses BumpVersion to switch the version number in thesetup.cfgandsrc/apicuron_client/version.pyto not have the-devsuffixPackages the code in both a tar archive and a wheelUploads to PyPI usingtwine. Be sure to have a.pypircfile configured to avoid the need for manual input at this
stepPush to GitHub. You'll need to make a release going with the commit where the version was bumped.Bump the version to the next patch. If you made big changes and want to bump the version by minor, you can
usetox -e bumpversion minorafter.