semvec/pypi-packages huggingface dataset:
geo58 1.0.0b1
Yet another short-link specification for geo-coordinates.
Requires Python: >=3.6

# Geo58

Yet another short-link specification for geo-coordinates.

## Key Features

* uses base-58 encoding
* can be as short as 8 characters, mostly 9 characters
* maximum length of 10 characters
* resolves to about 1.1m accuracy
* geocoordinates that are close, look similar
* can include a zoom level of a map (20-5)


### Base-58 encoding

[Base-58 encoding](https://en.wikipedia.org/wiki/Base58) uses 58 alphanumerical characters of the alphabet plus 9 digits.
Characters that look similar ('0', 'O', 'I', 'l') are omitted. 
This allows for manual copying of data with little potential for ambiguity. 

### 8-10 characters short

The encoding is done in the followin schema:
`[Zoom 4bit][joined [Lat 25bit][Lon 26bit]]`

* `Zoom`: beeing an optional parameter for a possible viewport (see below).
* `posLat`: is the latitude (mapped from [-90,90] to [0, 180]).
* `posLon`: is the longitude (mapped from [-180,180] to [0, 360]).

The last 51 bit are 'intervoven' to generate a bit-sequence with least significant bits to the right.
This allows the generation of short-strings that are similar to each other if they are close to one another.


### Link similarity

The following 3 links, refer to cafes in Heidelberg, which are only ~25m apart:

* https://yosm.at/NBiwwcnfq;amenity=cafe
* https://yosm.at/NBiwwcnuw;amenity=cafe
* https://yosm.at/NBiwwcnZc;amenity=cafe


### Zoom level (can be) included

4 bit of the short-string are used to encode the zoom level of a viewport. This can be used to
hint at the size of the object that is being referred to. 
The zoom level is pre-fixed to the bit-sequence. It is also 'inverted' to allow zoom level 20
to be represented as zero and 19 as one. Zomm level 5 would be using 4 bits.

As the zoom level is pre-fixed, zoom level 20 does not 'consume' any bit-bandwidth, resulting in a 
short-string being as short as possible.


### Credit

This format came to be during the creation of a short-link format for [YellowOSM](https://yellowosm.com).

YellowOSM is supported by [NetIdee](https://netidee.at/yellowosm).
remcmp 2.1.0.post2
Extensible program to compare local and remote directories.
Requires Python: >=3.7

# remcmp
Extensible program to compare local and remote directories.

Since it uses the `fs` module, any extensions (such as [`fs.smbfs`](https://pypi.org/project/fs.smbfs/)) can be used simply by installing them, and [you can write your own](https://docs.pyfilesystem.org/en/latest/extension.html).
## Installation
You can install it using `pip`:
```shell script
pip3 install remcmp
``` 
Or download it directly from [PyPI](https://pypi.org/project/remcmp/).
## Usage
```
$ remcmp -h
usage: remcmp.py [-h] [-f] [-c] [-lf LOG_FILE] [-ll LOG_LEVEL] dir1 dir2

Remote compare directories.

positional arguments:
  dir1                  First directory to compare
  dir2                  Second directory to compare

optional arguments:
  -h, --help            show this help message and exit
  -f, --files-only      Do not recurse into folders, only compare the files
  -c, --no-color        Do not output colorful text
  -lf LOG_FILE, --log-file LOG_FILE
                        Log into a file. This disables colored output
  -ll LOG_LEVEL, --log-level LOG_LEVEL
                        Which logging level to use. SUMMARY can be used to
                        only show the summary. By default this is INFO for
                        terminal and DEBUG for log file
```
## Exit codes
Each stat (e.g. `Equal`, `File only exists on one side`) has a flag. If it is encountered at least once then it is OR-ed with the exit code. E.g. `Directory only exists on one side` and `File only exists on one side`: `8 | 32 = 40`.
```
No stat: 0
Error: 1
Equal: 2
Not equal: 4
Directory only exists on one side: 8
Directory is file on the other side: 16
File only exists on one side: 32
File is directory on the other side: 64
```
download-yfinance-data 0.0.1
Downloads and saves Yahoo finance stock data.
Requires Python: >=3.5

# download_yfinance_data
Downloads Yahoo Finance data with yfinance in Python.

# Usage

It's best to customize the list of stocks you want to download.  Change the list at the bottom of download_stocks.py.  Then run the file: `python download_stocks.py`.
You can also download the entire stocklist from NASDAQ, which should take around 15 minutes to download the data, then another few minutes to store in a sqlite db.   To download all stocks, you can do:

`ipython`

```python
import download_stocks as ds
ds.download_stocklist()
```

# List of stocks
Retrieved from here: ftp://ftp.nasdaqtrader.com/symboldirectory


# Notes
Currently, yfinance is correcting the OHL for dividends by using the same ratio as for the close.  I think this is incorrect, and it should be using the dividends to subtract that amount from the days prior to the dividend.

# To do
- Add other storage mechanisms (arctic db which uses MongoDB, postgresql, etc)
- Error checking/testing