semvec/pypi-packages huggingface dataset:
jsonschema-cli 0.6.2
A thin wrapper over [Python Jsonschema](https://github.com/Julian/jsonschema) to allow validating shcemas easily using simple CLI commands.
Requires Python: >=3.6,<4.0

# JsonSchema CLI

A thin wrapper over [Python Jsonschema](https://github.com/Julian/jsonschema) to allow validating shcemas easily using simple CLI commands.

## Installing

`pip install jsonschema-cli`

## Security

The `$ref` resolving will automatically resolve to any path using basic `$ref` notation:

```json
{"$ref": "my-custom.json#...."}
```

That means that when using this tool, an attacker may do the following:

```json
{"$ref": "../../../../all-my-secrets.json"}
```

To make sure this doesn't happen:

1. When using this tool in a backend server, make sure the file access is scoped.
2. Don't run JSONSCHEMAS without sanitizing paths.
3. Treat all un-knwon user input as evil.

This has no actual current  affect other than loading the contets of secrets into memory of the process.
But may lead to misfortune if not addressed.

## Usgae

Using `jsonschema-cli --help`

```bash
usage: jsonschema-cli [-h] {validate} ...

A wrapper around https://github.com/Julian/jsonschema to validate JSON using the CLI

positional arguments:
  {validate}  Validate thet json data with a schema
    validate  Validate

optional arguments:
  -h, --help  show this help message and exit
```

### Validate

Using `jsonschema-cli validate --help`

```bash
usage: jsonschema-cli validate [-h] schema_file_or_string data_file_or_string

positional arguments:
  schema_file_or_string
                        The schema you want to use to validate the data
  data_file_or_string   The data you want validated by the schema

optional arguments:
  -h, --help            show this help message and exit
```

### Examples

```bash
# Returns no errors on stdout, no output needed on success (just exit code 0 is enough)
jsonschema-cli validate '{"properties": {"number": {"type": "integer"}}, "required": ["number"]}' '{"number": 123}'
# Has an error, "number" is now "123" instead of 123, an integer is expected.
jsonschema-cli validate '{"properties": {"number": {"type": "integer"}}, "required": ["number"]}' '{"number": "123"}'
> '123' is not of type 'integer'
>
> Failed validating 'type' in schema['properties']['number']:
>     {'type': 'integer'}
>
> On instance['number']:
>     '123'
```

## Load YAML

The CLI command can read YAML and validate both schema and data written in YAML

```bash
# Returns no errors on stdout, no output needed on success (just exit code 0 is enough)
SCHEMA="
properties:
  number:
    type: integer
"
DATA="
number: 123
"
jsonschema-cli validate "$SCHEMA" "$DATA"
# Has an error, "number" is now "123" instead of 123, an integer is expected.
SCHEMA="
properties:
  number:
    type: integer
"
DATA="
number: \"123\"
"
jsonschema-cli validate "$SCHEMA" "$DATA"
> '123' is not of type 'integer'
>
> Failed validating 'type' in schema['properties']['number']:
>     {'type': 'integer'}
>
> On instance['number']:
>     '123'
```
panphlan 1.3
PanPhlAn is a strain-level metagenomic profiling tool for identifying the gene composition and *in-vivo* transcriptional activity of individual strains in metagenomic samples. PanPhlAn’s ability for strain-tracking and functional analysis of unknown pathogens makes it an efficient tool for culture-free infectious outbreak epidemiology and microbial population studies.

# The newest version PanphlAn 3.0 is available [here](https://github.com/SegataLab/panphlan/tree/3.0)


## PanPhlAn - strain detection and characterization

#### Pangenome-based Phylogenomic Analysis

PanPhlAn is a strain-level metagenomic profiling tool
for identifying the gene composition and *in-vivo* transcriptional activity of individual strains
in metagenomic samples. PanPhlAn’s ability for strain-tracking and functional analysis of unknown
pathogens makes it an efficient tool for culture-free infectious outbreak epidemiology and
microbial population studies.

PanPhlAn is written in Python and covers the three main tasks:

* `panphlan_pangenome_generation.py`, to create the pangenome database of a bacterial species  
  [read more](https://github.com/SegataLab/panphlan/wiki/Pangenome-generation)
* `panphlan_map.py`, to profile each metagenomic sample by mapping it against the species specific database  
  [read more](https://github.com/SegataLab/panphlan/wiki/PanPhlAn-mapping)
* `panphlan_profile.py`, to merge and process the mapping results for getting the final gene presence/absence and transcriptional matrices  
  [read more](https://github.com/SegataLab/panphlan/wiki/PanPhlAn-profiling)



PanPhlAn runs under Ubuntu/Linux and requires the following software tools to be installed on your system:

* Bowtie2
* Samtools
* Python 3.x (including the Biopython module)

For more information, see our wiki [Download and Installation](https://github.com/SegataLab/panphlan/wiki#download-the-panphlan-software).

## Contact & User support ##

A [user tutorial](https://github.com/SegataLab/panphlan/wiki/Tutorial) is available on the [PanPhlAn wiki](https://github.com/SegataLab/panphlan/wiki). For help, use also the [bioBakery help forum](https://forum.biobakery.org/).


The PanPhlAn software team: [Matthias Scholz](http://www.matthias-scholz.de/) (algorithm design), [Thomas Tolio](https://www.linkedin.com/in/thomastolio) (programmer), Leonard Dubois and [Nicola Segata](http://segatalab.cibio.unitn.it/) (principal investigator).  

----

[PanPhlAn](http://segatalab.cibio.unitn.it/tools/panphlan/) is a project of the [Computational Metagenomics Lab at CIBIO](http://segatalab.cibio.unitn.it/), University of Trento, Italy