semvec/pypi-packages huggingface dataset:
winlnks 0.2.2
Windows LNK File Parser and Creator
License: MIT
Keywords: lnk, shortcut, windows

<h1 align="center"> WinLnks </h1><br>

<div align="center">
<img src="https://img.shields.io/badge/release-0.2.2-brightgray">  <img src="https://camo.githubusercontent.com/298c9cc02146ab7bc77e9fa31da10fd37891a216c5aecbd9037ea019ac43eba2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f707974686f6e2d76332e362b2d626c75652e737667"> <img src="https://img.shields.io/badge/License-MIT-blue">  <img src="https://img.shields.io/badge/downloads-10k/Month-brightgreen">   <img src="https://camo.githubusercontent.com/87ddab2ef405aee70f76af73b8184fccbe88f9f3551c178af03018ac86db8bfc/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f6e747269627574696f6e732d77656c636f6d652d6f72616e67652e737667">
</div>
<br>

Python library for reading and writing Windows shortcut files (.lnk).  

This library can parse .lnk files and extract all relevant information from
them. Parsing a .lnk file yields a LNK object which can be altered and saved
again. Moreover, .lnk file can be created from scratch be creating a LNK
object, populating it with data and then saving it to a file. As that
process requires some knowledge about the internals of .lnk files, some
convenience functions are provided.


## CLI

Mainly tool has two basic commands.

#### Parse existed lnk file

```sh
winlnks parse [-h] filename [props [props ...]]

positional arguments:
  filename    lnk filename to read
  props       props path to read
 
optional arguments:
  -h, --help  show this help message and exit
```

#### Create new lnk file

```sh
usage: winlnks create [-h] [--target [TARGET]][--arguments [ARGUMENTS]] [--description [DESCRIPTION]] [--icon [ICON]]
                     [--icon-index [ICON_INDEX]] [--workdir [WORKDIR]] [--mode [{Maximized,Normal,Minimized}]]

optional arguments:
  -h, --help            show this help message and exit
  --target [TARGET], -t [TARGET]
			Target path
  --output [OUTPUT], -o [OUTPUT]
                        .lnk file path
  --arguments [ARGUMENTS], -a [ARGUMENTS]
                        additional arguments
  --description [DESCRIPTION], -d [DESCRIPTION]
                        description
  --icon [ICON], -i [ICON]
                        icon filename
  --icon-index [ICON_INDEX], -ii [ICON_INDEX]
                        icon index
  --workdir [WORKDIR], -w [WORKDIR]
                        working directory
  --mode [{Maximized,Normal,Minimized}], -m [{Maximized,Normal,Minimized}]
                        window mode
```

#### Examples
```sh
py winlnks.py parse C:\Temp\calc.lnk
py winlnks.py create -t C:\windows\system32\calc.exe -o C:\Temp\calc.lnk              
winlnks create -h
winlnks p C:\Temp\calc.lnk
winlnks c --target C:\windows\system32\calc.exe --output C:\Temp\calc.lnk --mode Minimized --description "calc shortcut"          
```
arrangio 0.5.1
Arranges a set of songs in groups with similar total play time.
License: MIT
Requires Python: <4,>=3.8
Keywords: grouping, songs

# arrangio

Arranges a set of songs in groups with similar total play time.

## Synopsis

This tool will try to arrange a set of songs into subsets of songs
(groups) whose total play time will be the most sililar possible.

## Prerequisites

Python, version 3.8 or above, needs to be installed on your local
computer.

### Python 3.x

Python version 3.8 or above is required for the tool to work. Python
setup can be found [here](https://www.python.org/downloads/).

## Installation

The simplest way to install this tool is using pip:

```shell
pip3 install arrangio
```

## Usage

A simple example of how to use this tool:

```shell
arrangio --groups 2 --song song01:3m24s --song song02:4m01s  --song song03:1m47s
```

List of all the options:

```shell
usage: arrangio [-h] [-g [NUM]] [-q] -s LABEL:HHhMMmSSs [LABEL:HHhMMmSSs ...] [-v]

options:
  -h, --help            show this help message and exit
  -g [NUM], --groups [NUM]
                        number of groups to create (default: 2)
  -q, --quiet           quiet mode (default: False)
  -s LABEL:HHhMMmSSs [LABEL:HHhMMmSSs ...], --song LABEL:HHhMMmSSs [LABEL:HHhMMmSSs ...]
                        song information (e.g.: song01:00h03m27s) (default: None)
  -v, --version         show program's version number and exit
```

## Build (from source)

[just](https://just.systems) is used to automate several steps of the
development process.

All of the commands described bellow are to be executed on the root folder
of this project.

A development environment can be created using the following command:

```shell
just init
```

To build a Python package for this library use the following command:

```shell
just build
```

After this you should have a wheel file (`*.whl`) inside a folder called
`dist`.

The library can be install using the wheel file and pip3:

```shell
pip3 --quiet install dist/arrangio-*.whl
```

## Contributing

1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request

Please read the [CONTRIBUTING.md](https://github.com/electric-mass/arrangio/blob/master/CONTRIBUTING.md)
file for more details on how to contribute to this project.

## Versioning

This project uses [SemVer](http://semver.org/) for versioning. For the versions
available, see the [tags on this repository](https://github.com/electric-mass/arrangio/tags).

## Authors

* **Frederico Martins** - [fscm](https://github.com/fscm)

See also the list of [contributors](https://github.com/electric-mass/arrangio/contributors)
who participated in this project.

## License

This project is licensed under the MIT License - see the [LICENSE](https://github.com/electric-mass/arrangio/blob/master/LICENSE)
file for details