Giter Site home page Giter Site logo

pilosus / tools-python Goto Github PK

View Code? Open in Web Editor NEW

This project forked from spdx/tools-python

0.0 1.0 0.0 1.58 MB

A Python library to parse, validate and create SPDX documents.

Home Page: http://spdx.org

License: Apache License 2.0

Python 100.00%

tools-python's Introduction

Python library to parse, validate and create SPDX documents

Linux macOS Windows
Linux build status macOS build status Windows build status

Information

This library implements SPDX parsers, convertors, validators and handlers in Python.

History

This is the result of an initial GSoC contribution by @ah450 (or https://github.com/a-h-i) and is maintained by a community of SPDX adopters and enthusiasts.

License

Apache-2.0

Features

  • API to create and manipulate SPDX v2.3 documents.
  • Parse, convert, create and validate Tag/Value, RDF, JSON, YAML, XML format SPDX files

Known Limitations

  • No full 2.3 support for RDF format #295
  • No full license expression support #10
  • Output of the CLI parser is incomplete #268

TODOs

  • Include specialized validation for SPDX v2.2.1(ISO 5962:2021)

How to use

Command-line usage:

  1. PARSER (for parsing any format):
  • Use pyspdxtools_parser --file <filename> where <filename> is the location of the file.
    If you are using a source distribution, try running: pyspdxtools_parser --file tests/data/formats/SPDXRdfExample.rdf.

  • Or you can use pyspdxtools_parser only, and it will automatically prompt/ask for filename.

  • For help use pyspdxtools_parser --help

  1. CONVERTOR (for converting one format to another):
  • If I/O formats are known:

    • Use pyspdxtools_convertor --infile/-i <input_file> --outfile/-o <output_file> where <input_file> is the location of the file to be converted and <output_file> is the location of the output file.
      If you are using a source distribution, try running : pyspdxtools_convertor --infile tests/data/formats/SPDXRdfExample.rdf --outfile output.json
  • If I/O formats are not known:

    • Use pyspdxtools_convertor --from/-f <input_format> <input_file> --to/-t <output_format> <output_file> where <input_format> is the manually entered format of the input file and <out_format> is the manually entered format of the output file. If you are using a source distribution, try running : pyspdxtools_convertor --from tag tests/data/formats/SPDXTagExample.in --to yaml output.out
  • If one of the formats is known and the other is not, you can use a mixture of the above two points.
    Example (if you are using a source distribution): pyspdxtools_convertor -f rdf tests/data/formats/SPDXRdfExample.xyz -o output.xml

  • For help use pyspdxtools_convertor --help

Installation

As always you should work in a virtualenv (venv). You can install a local clone of this repo with yourenv/bin/pip install . or install it from PyPI with yourenv/bin/pip install spdx-tools. Note that on Windows it would be Scripts instead of bin.

Dependencies

Support

Contributing

Contributions are very welcome! See CONTRIBUTING.md for instructions on how to contribute to the codebase.

tools-python's People

Contributors

a-h-i avatar pombredanne avatar meretp avatar sschuberth avatar tardyp avatar xavierfigueroav avatar nicoweidner avatar yash-nisar avatar armintaenzertng avatar alpianon avatar carmenbianca avatar rodneyrichardson avatar lhh avatar njv299 avatar goneall avatar skalt avatar techytushar avatar yash-varshney avatar macrovve avatar altendky avatar kolanich avatar jotterson avatar jayvdb avatar quaresmajose avatar santiagotorres avatar shubhamkjha avatar rtgdk avatar kbermude avatar avirlrma avatar abhishekspeer avatar

Watchers

 avatar

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.