semvec/pypi-packages huggingface dataset:
treecomp 1.0.0
Compare directory trees and output unified diff
License: MIT



[![](https://codecov.io/gh/nickderobertis/treecomp/branch/main/graph/badge.svg)](https://codecov.io/gh/nickderobertis/treecomp)
[![PyPI](https://img.shields.io/pypi/v/treecomp)](https://pypi.org/project/treecomp/)
![PyPI - License](https://img.shields.io/pypi/l/treecomp)
[![Documentation](https://img.shields.io/badge/documentation-pass-green)](https://nickderobertis.github.io/treecomp/)
![Tests Run on Ubuntu Python Versions](https://img.shields.io/badge/Tests%20Ubuntu%2FPython-3.8%20%7C%203.9%20%7C%203.10-blue)
![Tests Run on Macos Python Versions](https://img.shields.io/badge/Tests%20Macos%2FPython-3.8%20%7C%203.9%20%7C%203.10-blue)
![Tests Run on Windows Python Versions](https://img.shields.io/badge/Tests%20Windows%2FPython-3.8%20%7C%203.9%20%7C%203.10-blue)
[![Github Repo](https://img.shields.io/badge/repo-github-informational)](https://github.com/nickderobertis/treecomp/)


#  treecomp

## Overview

A CLI and Python API to recursively compare directory trees and output a unified diff. 
Supports ignoring and targeting file and folder patterns with 
[`.gitignore`-style syntax](https://git-scm.com/docs/gitignore#_pattern_format).
Plays well with other tools: pipe output to [`dunk`](https://github.com/darrenburns/dunk) for pretty diffs and use 
`-f json` to output to JSON for use with [`jq`](https://stedolan.github.io/jq/) and other tools.

## Getting Started

The recommended way to install `treecomp` is with [`pipx`](https://github.com/pypa/pipx),
though it can also be installed with `pip`.

```
pipx install flexlate
```

Or, if you don't have/don't want to install `pipx`:

```
pip install flexlate
```

The unidiff output from this tool is best viewed using [`dunk`](https://github.com/darrenburns/dunk), 
which can also be installed via `pipx`/`pip`.

```shell
pipx install dunk
```

Compare two file trees recursively and output unified diffs.

```shell
treecomp my_folder_1 my_folder_2 | dunk
```

It supports ignoring and targeting patterns with 
[`.gitignore`-style syntax.](https://git-scm.com/docs/gitignore#_pattern_format) 
It also has a strongly-typed Python API.

See 
[examples in the documentation.](
https://nickderobertis.github.io/treecomp/index.html#examples
)

## Development Status

This project is currently in early-stage development. There may be
breaking changes often. While the major version is 0, minor version
upgrades will often have breaking changes.

## Developing

First ensure that you have `pipx` installed, if not, install it with `pip install pipx`.

Then clone the repo and run `npm install` and `pipenv sync`. Run `pipenv shell`
to use the virtual environment. Make your changes and then run `nox` to run formatting,
linting, and tests.

Develop documentation by running `nox -s docs` to start up a dev server.

To run tests only, run `nox -s test`. You can pass additional arguments to pytest
by adding them after `--`, e.g. `nox -s test -- -k test_something`.

## Author

Created by Nick DeRobertis. MIT License.

## Links

See the
[documentation here.](
https://nickderobertis.github.io/treecomp/
)
RxLab-Instruments 0.0.3
Control instruments in the Receiver Lab over Ethernet
License: MIT
Keywords: SCPI,Ethernet,Lab equipment,Signal generator,DC power supply,Oscilloscope,Multimeter

Receiver Lab Instruments
========================

Control various instruments in the Receiver Lab over LAN.

Installation
------------

To install via ``pip``:

```bash
# From the GitHub repo (latest version)
python3 -m pip install git+https://github.com/Smithsonian/RxLab-Instruments.git

# From PyPI (latest stable release)
python3 -m pip install RxLab-Instruments
```

To use Keithley instruments, you need to install the ``vxi11`` package:

```bash
python3 -m pip install git+https://github.com/python-ivi/python-vxi11.git
```

To use Rohde & Schwarz instruments, you need to install the ``pyvisa`` package:

```bash
python3 -m pip install -U pyvisa
```

**Note:** I have not added these packages to the requirements in ``setup.py`` because this allows you to decide which packages you want/need to install. For example, if you only want to use the Hittite module, you don't need to install ``vxi11`` or ``pyvisa``.

Supported Instruments
---------------------

- Agilent 34410A/11A/L4411A 6.5 Digit Multimeter
- Agilent E8257D/67D PSG Analog Signal Generator
- Hittite HMC-T2240 Signal Generator
- Keithley 2280 Power Supply
- Keithley 2602 Source Meter
- Micro Lambda Wireless (MLBF series) YIG Tuned Filters
- Micro Lambda Wireless YIG Tuned Synthesizers
- Rohde & Schwarz FSVA40 Spectrum Analyzer
- Siglent SDS-1104X-E Oscilloscope

This package will probably also work with closely related instruments, but I have only tested this package with the instruments listed above.

Example
-------

```python
from labinstruments.agilent import Agilent34411A, AgilentE8257D
from labinstruments.hittite import Hittite
from labinstruments.keithley import Keithley2280
from labinstruments.microlambda import YigFilter

# Agilent multimeter
dmm = Agilent34411A("192.168.0.3")
print("DC voltage: {:.2f} V".format(dmm.measure_dc_voltage('V')))
dmm.close()

# Agilent signal generator
sig = AgilentE8257D("192.168.0.31")
sig.set_frequency(15, "GHz")
sig.set_power(-20, "dBm")
sig.power_on()
sig.close()

# Connect to Hittite signal generator
sg = Hittite('192.168.0.159')
sg.set_power(-40, 'dBm')
sg.set_frequency(5, 'GHz')
sg.power_on()
sg.close()

# Connect to Keithley power supply
ps = Keithley2280('192.168.0.117')
ps.reset()
ps.output_on()
ps.set_voltage_limit(12)
ps.set_voltage(2)
ps.set_current(0.1)
ps.power_on()
ps.close()

# Connect to Micro Lambda YIG filter
yig = YigFilter('192.168.0.3')
yig.set_frequency(5, 'GHz')
yig.close()
```

References
----------

["System Power Supply Programming Using SCPI Commands"](https://www.keysight.com/us/en/assets/7018-06572/white-papers/5992-3841.pdf) from Keysight

["Control a Siglent oscilloscope with Python"](https://ktln2.org/2018/02/20/control-siglent-oscilloscope/)
scuzzie 0.6.0
a simple webcomic static site generator
License: MIT
Requires Python: >=3.10,<4.0

# scuzzie

simple static webcomic site generator

## installation

basic (cli) version:

```shell
$ pip install scuzzie
$ scuzzie --help
```

with tk gui:

```shell
$ pip install scuzzie[gui]
$ scuzzie-gui
```

you'll need a python built with tcl-tk support for the gui to work.