semvec/pypi-packages huggingface dataset:
shelect 0.1.1
SQL for your local CSV/JSON files
Requires Python: >=3.8

# Shelect: SQL for local files

Shelect lets you run SQL on data in your local filesystem.

Use it for easy, local ad-hoc analysis of CSV/TSV/JSON files.

It supports all functions and SQL syntax supported by [SQLite](https://sqlite.org/).


## How to use it

```
$ shelect 'SELECT * FROM "./examples/people.csv"'
id | name
---+-------
1  | Alice
2  | Bob
3  | Carlos
4  | Dani
$ shelect 'SELECT * FROM "./examples/values.json"'
id | value
---+------
1  | 10
2  | 20
3  | 30
3  | 40
$ shelect 'SELECT * FROM "./examples/values.json" JOIN "./examples/people.csv" USING (id)'
id | value | name
---+-------+-------
1  | 10    | Alice
2  | 20    | Bob
3  | 30    | Carlos
3  | 40    | Carlos
$ shelect 'SELECT name, sum(value) FROM "./examples/people.csv" LEFT JOIN "./examples/values.json" USING (id) GROUP BY 1'
name   | SUM(value)
-------+-----------
Alice  | 10
Bob    | 20
Carlos | 70
Dani   | NULL
```

It also can function as a repl when invoked without a query.


## How it works

An in-memory SQLite database is created. Before executing each query, the query is parsed and all tables accessed are
first imported from the filesystem into a table with that name.

So if you run `SELECT * from "./my-file.csv"` a table named `"./my-file.csv"` will be created by opening `./my-file.csv`
and attempting to read it as JSON, CSV, or TSV.

JSON files must be arrays of objects, where each object is a key-value mapping where keys correspond to column names.

CSV and TSV files must have a single row with column names followed by data rows.

All columns are created as `TEXT` data types. Please refer to the SQLite documentation for supported SQL functions and
functionality. 


## How to install

shelect is on pypi: https://pypi.org/project/shelect/

Via [pipx](https://pipx.pypa.io/stable/):

```
$ pipx install shelect
```

Via pip:

```
$ python3 -m pip install shelect
```
InteractiveHtmlBom 2.10.0
Generate Interactive Html BOM for your electronics projects
Requires Python: >=3.8
Keywords: Eagle, EasyEDA, KiCad, ibom

# Interactive HTML BOM plugin for KiCad
## Supports EasyEDA, Eagle, Fusion360 and Allegro PCB designer

![icon](https://i.imgur.com/js4kDOn.png)

This plugin generates a convenient Bill of Materials (BOM) listing with the
ability to visually correlate and easily search for components and their placements
on the PCB. It is particularly useful when hand-soldering a prototype, as it allows
users to quickly find locations of components groups on the board. It is also possible
to reverse lookup the component group by clicking on a footprint on the board drawing.

The plugin utilizes Pcbnew python API to read PCB data and render silkscreen, fab layer,
footprint pads, text, and drawings. BOM table fields and grouping is fully configurable,
additional columns, such as a manufacturer ID, can be added in Schematic editor and
imported either through the netlist file, XML file generated by Eeschema's internal
BOM tool, or from board file itself.

There is an option to include tracks/zones data as well as netlist information allowing
dynamic highlight of nets on the board.

For full description of functionality see [wiki](https://github.com/openscopeproject/InteractiveHtmlBom/wiki).

Generated html page is fully self contained, doesn't need internet connection to work
and can be packaged with documentation of your project or hosted anywhere on the web.

[A demo is worth a thousand words.](https://openscopeproject.org/InteractiveHtmlBomDemo/)

## Installation and Usage

See [project wiki](https://github.com/openscopeproject/InteractiveHtmlBom/wiki/Installation) for instructions.

## License and credits

Plugin code is licensed under MIT license, see `LICENSE` for more info.

Html page uses [Split.js](https://github.com/nathancahill/Split.js),
[PEP.js](https://github.com/jquery/PEP) and (stripped down)
[lz-string.js](https://github.com/pieroxy/lz-string) libraries that get embedded into
generated bom page.

`units.py` is borrowed from [KiBom](https://github.com/SchrodingersGat/KiBoM)
plugin (MIT license).

`svgpath.py` is heavily based on
[svgpathtools](https://github.com/mathandy/svgpathtools) module (MIT license).