Comments (2)
@wdduncan I'm familiar with the following scheme (which I used for https://github.com/polyneme/nmdc-mongo-tools):
# among dev requirements
invoke
setuptools-scm
twine
# in /setup.py
from setuptools import setup, find_packages
setup(
packages=find_packages(),
use_scm_version=True,
...
# in /tasks.py
from subprocess import run
from invoke import task
@task
def publish(c):
completed = run(
"git describe --tags $(git rev-list --tags --max-count=1)",
shell=True,
capture_output=True,
encoding="utf-8",
)
vtag = completed.stdout.strip()
major_minor, dot, patch = vtag.rpartition(".")
vtag_new = major_minor + dot + str(int(patch) + 1)
run(["git", "tag", vtag_new])
run(["git", "push"])
run(["git", "push", "--tags"])
c.run("rm dist/*.*", warn=True)
c.run("python setup.py sdist bdist_wheel")
c.run("twine upload dist/*")
Here, invoke publish
on the command line bumps the patch version via a git tag and pushes that to PyPI. The logic above can be refactored to use calver (e.g. YYYY.MM.DD).
from nmdc-schema.
The nmdc-schema is now versioned using pypi.
from nmdc-schema.
Related Issues (20)
- `linkml-sqldb dump` crashes in `berkeley-schema-fy24` because of multiple possible `Study.part_of` paths
- Resolve omics_processing has_output data_object referential integrity exceptions in study nmdc:sty-11-dcqce727 HOT 3
- update code to delete unconnected workflow activity and data objects to same logging format as Michael's deletion function
- Resolve referential integrity exceptions for `nmdc:sty-11-547rwq94` Metagenome Omics Processing records HOT 2
- `slot_usage` parent issue HOT 2
- remove redundant `slot_usage`s HOT 1
- fix inconsistent `slot_usages` HOT 1
- Biosample.slot_usage.gold_biosample_identifiers.range: external_identifier -> uriorcurie
- QuantityValue.slot_usage.has_numeric_value.range: Float -> Double HOT 2
- Metabolomics Schema Updates Meta Issue HOT 6
- Flush out `SubstanceRoleEnum` HOT 1
- Add `sample_portion` to `SubsamplingProcess`
- Add `StorageProcess` class (a subclass of `MaterialProcessing` with slots like `substances_used` (already exists) and `contained_in` slot (already exists), `duration` (already exists), and `temperature` (already exists). With `input` and 'output` HOT 3
- Expand `StationaryPhaseEnum` to include values needed for GC-MS and LC-MS metab data HOT 1
- Accommodate multiple detection configurations for single `MassSpectrometry` instance HOT 1
- Add `workflow_version` slot to `WorkflowExecution` classes HOT 1
- Add slot `workflow_configuration_object` should be multivalued with a range of `DataObject` with the config files captured as `DataObject`s HOT 3
- Create `MassSpectrometryConfiguration` class and modify existing `MassSpectrometry` class to accommodate
- Rename `has_metabolite_quantification` and associated class to `has_metabolite_identification` HOT 5
- support slot for when document was added HOT 12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nmdc-schema.