semvec/pypi-packages huggingface dataset:
inspect-proxmox-sandbox 0.0.1
Placeholder package only. Please install from source https://github.com/UKGovernmentBEIS/inspect_proxmox_sandbox. A Proxmox Sandbox Environment for Inspect.

Placeholder package only. Please install from source https://github.com/UKGovernmentBEIS/inspect_proxmox_sandbox. A Proxmox Sandbox Environment for Inspect.
icsbom 1.2.0
icsbom is a tool developed by Integrated Computer Solutions (ICS) for converting Software Bill of Materials (SBoM) into a Vex File.
Requires Python: <4.0,>=3.9

<!--
   SPDX-FileCopyrightText: 2024 ICS inc.
   SPDX-License-Identifier: CC-BY-SA-4.0
-->

ICSbom ![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/integratedcomputersolutions/icsbom/build.yml) [![REUSE status](https://api.reuse.software/badge/github.com/integratedcomputersolutions/icsbom)](https://api.reuse.software/info/github.com/integratedcomputersolutions/icsbom) [![PyPI - Version](https://img.shields.io/pypi/v/icsbom)](https://pypi.org/project/icsbom/) ![PyPI - Downloads](https://img.shields.io/pypi/dm/icsbom)
===
This application downloads data from the nvd api and creates a local `Vulnerability Database`.
If the database already exists it will be updated with changes since your last update.
It then uses that data to check the provided sbom file and give you a Vulnerability report. This tool is used by [SBOMGuard](https://sbomguard.com) ICS' open source, web-based cloud service.

## Usage
 icsbom [OPTIONS] INPUTFILE

### Options
`-h` Help
 - Shows the Application Help

`--log` set the log level of the application 
 - Valid levels: `NOTSET`, `DEBUG`, `INFO`, `WARNING`, `ERROR`, `CRITICAL`
 - Default value: `WARNING`

`--cache_dir` the path where the application will write 
 - Any path you can Read and Write to is valid 
 - Default: `$HOME/.cache/icsbom`

`--api_key` API_KEY
 - Use the API_KEY to access the NVD Api
 - A Key is NOT required, providing one allows more api queries per second
 - If the file `$CACHE_DIR/api_key.txt` exists its contents will be used as the api key

`--save_key`Save the api key used by the `api_key` option
   - Writes the used api key to `api_key.txt` in the Cache Directory

`--db_file` filename for the database
 - The filename used will be written into the cache directory
 - Default: `nvd_v#.db` Where # is the revision of the database format.

`-o` Output file to write
   - File format depending on extention of the output file
   - Valid extentions are *.txt, *.csv, *.html, *.json.vex

`-i`, `--interactive` Enter interactive mode after matching

`-s`, `--skip-db-update`
 - This option will skip the database update and go right to scanning the file using the existing database.

`--filter_file` `FILTER_FILE`
 - Override the builtin filters with the contents of `FILTER_FILE`
 - `FILTER_FILE` must be a json file

 `--write_filters` `FILTER_OUT`
 - Write the default filters to a file
 - `FILTER_OUT` should end in .json
 - Useful to adjust the filters for your projects needs.

`-t` TAR_DIR_PATTERN
 - Used when the input file is a tarball crated by a yocto build process
 - process the contents of the subdir matching the TAR_DIR_PATTERN
 - Valid Patterns: recipies, packages
 - Default: packages

`INPUTFILE` The input file
 - File can be a sbom or tarball

# Requirements
 requires [ics_sbom_libs](https://github.com/integratedcomputersolutions/ics-sbom-libs)
fsion 0.1.0a1
FSion (fusion: /ˈfjuʒən/) is a library designed to expose filesystem-like API's from various backends (Google Drive, S3, GCS, local filesystem etc.)
Requires Python: >=3.12

# FSion

__FSion__ (_fusion_: _`/ˈfjuʒən/`_) is a library designed to expose
filesystem-like API's from various backends (Google Drive, S3, GCS, local
filesystem etc.)

> [!WARNING]
> The library is in it's very early stages of development. It's a pet project
> of mine, and as of current I don't anticipate dedicating significant time or
> resources to its ongoing development. It's not recommended for production, so
> use it at your own risk.
resource-id 1.4.0
A base62-encoded identifier for use in URLs.  Supports Pydantic validation.
Keywords: identifier, url, base62, uuid, fastapi

# ResourceId

The resource-id package provides a ResourceId class implementing base62-encoded identifiers, suitable
for URLs, URIs, and perhaps something else.

ResourceId is written to work with [Pydantic](https://pydantic-docs.helpmanual.io).
In particular, it can be used with [FastAPI](https://fastapi.tiangolo.com) as a path parameter.

![tox](https://github.com/declaresub/resource-id/actions/workflows/tox.yml/badge.svg)


## Requirements

Resource-id requires Python >= 3.9. For python == 3.9, typing_extensions is required.
As of version 1.4.0, resource-id requires pydantic 2.


## Installation

    pip install resource-id

## Usage

There is one class, ResourceId.

    from resource_id import ResourceId

Create a ResourceId:

    id = ResourceId(43)
    id1 = ResourceId('deadbeef')
    id2 = ResourceId(UUID(int=101))

In fact a ResourceId can be created from any object that implements __int__,


Create a URL path using a ResourceId:

    path = f"/api/foo/{ResourceId('deadbeef')}"

Define a FastAPI request handler with a ResourceId:

    @app.get('/api/foo/{foo_id}')
    async def get_foo(foo_id: ResourceId):
        ...

Here, FastAPI will validate the value of the path variable foo_id with Pydantic.  If validation fails, 
FastAPI returns 422 Unprocessable Entity.

    
Convert a ResourceId to a UUID:

    res_id = ResourceId(43)
    id = res_id.uuid

### More

I have some projects that use PostgreSQL and asyncpg.  It is quite simple to add conversion between PostgreSQL UUID datatype and ResourceId.

```
def get_uuid(value: ResourceId) -> str:
    assert isinstance(value, ResourceId)
    return str(value.uuid)


def get_resource_id(value: str) -> ResourceId:
    assert isinstance(value, str)
    return ResourceId(UUID(value))


async def init_connection(conn: asyncpg.Connection):
    await conn.set_type_codec(
        "uuid", encoder=get_uuid, decoder=get_resource_id, schema="pg_catalog"
    )
```


## Testing

The requirements.txt file is for development and testing. If you have any interest in either,
create a virtual environment and install this package.  The following may work.

    python -m venv /path/to/virtual-environment
    cd /path/to/virtual-environment
    source bin/activate
    pushd /path/to/repository
    pip install -r requirements.txt


Run unit tests:

    pytest --cov=src --cov-report term-missing tests

Or

    tox


## Package Verification

As of version 1.4.0, releases use trusted publishing.