Coder Social home page Coder Social logo

mbrsamsung / spex Goto Github PK

View Code? Open in Web Editor NEW

This project forked from samsungds/spex

0.0 0.0 0.0 532 KB

lint- and extract figures from NVMe specification documents.

Home Page: https://openmpdk.github.io/Spex

Shell 0.05% Python 3.51% CSS 13.71% Nix 0.11% Makefile 0.05% HTML 82.55% Dockerfile 0.02%

spex's Introduction

Spex

What is Spex?

Spex is a tool for linting- and generating a structured representation of the data-structures contained in an NVMe specification document.

Please see the full documentation at: https://openmpdk.github.io/Spex

For users

Installing/Using Spex

Using Nix (Recommended)

Given a copy of Nix, the environment will be automatically configured, and is guaranteed to match the environment in which we develop and for which CI testing is done.

See https://openmpdk.github.io/Spex/setup/nix.html for details.

NOTE Nix works natively on Linux and MacOS, and on Windows via WSL. See the link above for notes on installing- and using Nix on all 3 platforms.

Directly on your machine (Discouraged)

make install installs Spex for your user in a separate Python virtual environment - meaning the dependencies of Spex are not impacted by other Python software you install. make uninstall removes Spex, if installed.

Accomplishing this sadly requires a third-party tool, pipx, which we however highly recommend. Please see the pipx site for notes on installing this tool.

NOTE that in this case, you will still need Python 3.11 or later and libxml2.

Using Spex

See https://openmpdk.github.io/Spex/user_guide/using_spex.html for details.

For developers

Setting up the development environment

Note that targets like build, check, format and docs all expect to operate in a properly configured environment.

We strongly recommend using Nix directly. It takes care of everything and ensures that editors can leverage the environment for code-completion and navigation. See https://openmpdk.github.io/Spex/setup/nix.html

To understand your options, see https://openmpdk.github.io/Spex/setup/index.html

Finally, if you use nix, make dev will put you inside a properly configured development environment. make dev-docker-build dev-docker will do the same, but within a container.

make check

This target runs all the tests that our regular CI run would to ensure the software is in a good state. If you make modifications, please run this before submitting.

make format

This target automatically re-arranges package imports and reformats the code to comply with our coding standards. Please use this ahead of submitting changes.

make docs

This target builds the documentation locally. This is mostly useful when writing previewing changes to the documentation locally.

build | clean

These targets respectively build and removes a source distribution python package. You most likely won't need or want this.

spex's People

Contributors

jwdevantier avatar safl 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.