Giter Site home page Giter Site logo

Comments (6)

proycon avatar proycon commented on May 18, 2024

Thanks for the feedback! Let me first answer your last question before I go onto the actual issue in a later comment:

Do you plan to integrate features of codemetar like parsing the README or CITATION.cff files or so?
The best data for authors will be in a CITAION.cff.

Yes, in fact, I have already implemented all that, it's in https://github.com/proycon/codemeta-harvester , this is basically a shell script that invokes codemetapy to do the bulk of the work. CITATION.cff is supported through cffconvert. This is done using a merge strategy precisely as you suggest below:

Is there a merge strategy. I.e one could then generate the codemeta.json from several sources, i.e local repo code, github API, > different builds etc, and merge them in case on a certain root more metadata is gathered? From the docs, this seems to work if > providing these sources as once, but can it also merge with an existing file (for the usecase that this is manual adopted since
something will not work automatically and everything else I want to update automatically on pre-commit)?

Yes, codemetapy support multiple sources and can merge things together. codemeta-harvester is a more high-level tool that detects various possible sources for a single project and invokes codemetapy in the right way to consolidate all this metadata into one. On top of that it can also harvest multiple projects and relate SoftwareSourceCode to particular instances of that software (including software as a service), which is an extension on top of codemeta. This is for example what powers https://tools.dev.clariah.nl

from codemetapy.

proycon avatar proycon commented on May 18, 2024

Do you have a more complete pyproject.toml I could try to reproduce this with? (pointing to one in a real project is even better). There's also a toml syntax error in the one you included here.

For pyproject.toml parsing I tried not to reinvent the wheel in codemetapy and am relying simply on https://github.com/pypa/pep517/ to do the actual parsing and deliver data like from importlib.metadata.

from codemetapy.

broeder-j avatar broeder-j commented on May 18, 2024

I corrected the pyproject.toml above to be valid (validated with https://pypi.org/project/validate-pyproject/), one classifier was wrong and the version was missing (the rest is tool specific). This particular project is not public yet, but will be soon, I hope).

Currently I am playing around and understanding codemeta.

from codemetapy.

broeder-j avatar broeder-j commented on May 18, 2024

(including software as a service), which is an extension on top of codemeta. This is for example what powers https://tools.dev.clariah.nl

Nice! this is one part where we want to get to.
Do you know if there is some work going on in the codemeta community to get something like default github/gitlab actions/bots to produce a nice codemeta.json? Because that might be something worth to explorer for us if we want to get a codemeta.json into every repo within a large organization.

from codemetapy.

proycon avatar proycon commented on May 18, 2024

Do you know if there is some work going on in the codemeta community to get something like default github/gitlab actions/bots to produce a nice codemeta.json? Because that might be something worth to explorer for us if we want to get codemeta.json into every repo within a large organization.

I had been thinking about that as a feasible option as well, although I haven't really planned anything specifically yet. But with codemeta-harvester it should be relatively easy, the only thing that needs to be written is the github/gitlab integration (which I have to admit I don't have experience with yet). I'm not aware of anybody else already doing this.

from codemetapy.

ketozhang avatar ketozhang commented on May 18, 2024

@proycon The entire project metadata specification for pyproject.toml can be found https://packaging.python.org/en/latest/specifications/declaring-project-metadata/

It's a short read and you can make a more complete example. Be careful about other pyproject.toml file that extends the fields (e.g., poetry's [tool.poetry.dependencies] is not standard).

from codemetapy.

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.