GithubHelp home page GithubHelp logo

Support nir.__version__ about nir HOT 5 CLOSED

matjobst avatar matjobst commented on July 24, 2024
Support nir.__version__

from nir.

Comments (5)

biphasic avatar biphasic commented on July 24, 2024

for Sinabs and Tonic I'm using pbr to automatically manage versions based on git tags. An option that I read about but have never tried is versioneer

from nir.

sheiksadique avatar sheiksadique commented on July 24, 2024

I suggest we use setuptools-git-versioning tool for version management if we want to automate and do intermediate/pre releases. https://setuptools-git-versioning.readthedocs.io/en/v1.13.3/

I plan on migrating to this eventually as this seems to be closer to the setup tools and pep specifications. PBR isn't 100% identical to the standard library specifications even though it works well. Versioneer is a bit ugly in that it requires us to include an entire file with complex versioning logic into the repository.

from nir.

Jegp avatar Jegp commented on July 24, 2024

The latest PR #27 should add this to the nir package.

It uses the dynamic version number attribute in pyproject.toml, so the only place we have a version number is in the __init__.py file in the nir folder.

I'm wondering if we should continue the discussion on release management. It would be nice to automate the release process. But then again, currently it's a simple matter of (a) bumping the version number and (b) creating a release. Is it worth improving? @biphasic @sheiksadique

from nir.

sheiksadique avatar sheiksadique commented on July 24, 2024

I am not certain how you typically deal with release management, so I can't comment about its complexity.

But there are essentially two places where the version is maintained still:

  1. the init.py file
  2. git tag/version.

It is therefore possible in principle to have these two things out of sync.

There are essentially three advantages to automate the process of releases.

  1. There will be a unique location of version information.
  2. The releases themselves can be automatically handled ie you do not need to create a separate release. A simple act of tagging should automate a major/minor release.
  3. Any versions that are not explicitly tagged but pushed to the repos can still be published as pre-releases giving users immediate access to this without having to look up things in GitHub.

from nir.

Jegp avatar Jegp commented on July 24, 2024

Thanks for the comments @sheiksadique! I think you have very valid points, that would be worthy to treat in a separate issue: #48

from nir.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.