semvec/pypi-packages huggingface dataset:
sjtu-econmgt-quantecon-fengyun 2023.1.27.0
上海交大安泰经管计量经济学课件（冯芸）
Requires Python: >=3.6

# 上海交大安泰经管计量经济学课件（冯芸）

## 下载

### Docker

```
docker pull apachecn0/sjtu-econmgt-quantecon-fengyun
docker run -tid -p <port>:80 apachecn0/sjtu-econmgt-quantecon-fengyun
# 访问 http://localhost:{port} 查看文档
```

### PYPI

```
pip install sjtu-econmgt-quantecon-fengyun
sjtu-econmgt-quantecon-fengyun <port>
# 访问 http://localhost:{port} 查看文档
```

### NPM

```
npm install -g sjtu-econmgt-quantecon-fengyun
sjtu-econmgt-quantecon-fengyun <port>
# 访问 http://localhost:{port} 查看文档
```
sjtu-econmgt-mid-microecon-qianjunhui 2023.1.27.0
上海交大安泰经管中级微观经济学课件（巢宏）
Requires Python: >=3.6

# 上海交大安泰经管中级微观经济学课件（巢宏）

## 下载

### Docker

```
docker pull apachecn0/sjtu-econmgt-mid-microecon-qianjunhui
docker run -tid -p <port>:80 apachecn0/sjtu-econmgt-mid-microecon-qianjunhui
# 访问 http://localhost:{port} 查看文档
```

### PYPI

```
pip install sjtu-econmgt-mid-microecon-qianjunhui
sjtu-econmgt-mid-microecon-qianjunhui <port>
# 访问 http://localhost:{port} 查看文档
```

### NPM

```
npm install -g sjtu-econmgt-mid-microecon-qianjunhui
sjtu-econmgt-mid-microecon-qianjunhui <port>
# 访问 http://localhost:{port} 查看文档
```
sjtu-econmgt-mid-macroecon-qianjunhui 2023.1.27.0
上海交大安泰经管中级宏观经济学课件（钱军辉）
Requires Python: >=3.6

# 上海交大安泰经管中级宏观经济学课件（钱军辉）

## 下载

### Docker

```
docker pull apachecn0/sjtu-econmgt-mid-macroecon-qianjunhui
docker run -tid -p <port>:80 apachecn0/sjtu-econmgt-mid-macroecon-qianjunhui
# 访问 http://localhost:{port} 查看文档
```

### PYPI

```
pip install sjtu-econmgt-mid-macroecon-qianjunhui
sjtu-econmgt-mid-macroecon-qianjunhui <port>
# 访问 http://localhost:{port} 查看文档
```

### NPM

```
npm install -g sjtu-econmgt-mid-macroecon-qianjunhui
sjtu-econmgt-mid-macroecon-qianjunhui <port>
# 访问 http://localhost:{port} 查看文档
```
sjtu-econmgt-mgt 2023.1.27.0
上海交大安泰经管管理学原理课件
Requires Python: >=3.6

# 上海交大安泰经管管理学原理课件

## 下载

### Docker

```
docker pull apachecn0/sjtu-econmgt-mgt
docker run -tid -p <port>:80 apachecn0/sjtu-econmgt-mgt
# 访问 http://localhost:{port} 查看文档
```

### PYPI

```
pip install sjtu-econmgt-mgt
sjtu-econmgt-mgt <port>
# 访问 http://localhost:{port} 查看文档
```

### NPM

```
npm install -g sjtu-econmgt-mgt
sjtu-econmgt-mgt <port>
# 访问 http://localhost:{port} 查看文档
```
sjtu-econmgt-invest-zhuojianwei 2023.1.27.0
上海交大安泰经管投资学课件（卓建伟）
Requires Python: >=3.6

# 上海交大安泰经管投资学课件（卓建伟）

## 下载

### Docker

```
docker pull apachecn0/sjtu-econmgt-invest-zhuojianwei
docker run -tid -p <port>:80 apachecn0/sjtu-econmgt-invest-zhuojianwei
# 访问 http://localhost:{port} 查看文档
```

### PYPI

```
pip install sjtu-econmgt-invest-zhuojianwei
sjtu-econmgt-invest-zhuojianwei <port>
# 访问 http://localhost:{port} 查看文档
```

### NPM

```
npm install -g sjtu-econmgt-invest-zhuojianwei
sjtu-econmgt-invest-zhuojianwei <port>
# 访问 http://localhost:{port} 查看文档
```
sjtu-econmgt-interfin-caimingchao 2023.1.27.0
上海交大安泰经管国际金融课件（蔡明超）
Requires Python: >=3.6

# 上海交大安泰经管国际金融课件（蔡明超）

## 下载

### Docker

```
docker pull apachecn0/sjtu-econmgt-interfin-caimingchao
docker run -tid -p <port>:80 apachecn0/sjtu-econmgt-interfin-caimingchao
# 访问 http://localhost:{port} 查看文档
```

### PYPI

```
pip install sjtu-econmgt-interfin-caimingchao
sjtu-econmgt-interfin-caimingchao <port>
# 访问 http://localhost:{port} 查看文档
```

### NPM

```
npm install -g sjtu-econmgt-interfin-caimingchao
sjtu-econmgt-interfin-caimingchao <port>
# 访问 http://localhost:{port} 查看文档
```
sjtu-econmgt-econ-xuli 2023.1.27.0
上海交大安泰经管经济学原理课件（胥莉）
Requires Python: >=3.6

# 上海交大安泰经管经济学原理课件（胥莉）

## 下载

### Docker

```
docker pull apachecn0/sjtu-econmgt-econ-xuli
docker run -tid -p <port>:80 apachecn0/sjtu-econmgt-econ-xuli
# 访问 http://localhost:{port} 查看文档
```

### PYPI

```
pip install sjtu-econmgt-econ-xuli
sjtu-econmgt-econ-xuli <port>
# 访问 http://localhost:{port} 查看文档
```

### NPM

```
npm install -g sjtu-econmgt-econ-xuli
sjtu-econmgt-econ-xuli <port>
# 访问 http://localhost:{port} 查看文档
```
sjtu-econmgt-currfin-zuojianwei 2023.1.27.0
上海交大安泰经管货币金融学课件（卓建伟）
Requires Python: >=3.6

# 上海交大安泰经管货币金融学课件（卓建伟）

## 下载

### Docker

```
docker pull apachecn0/sjtu-econmgt-currfin-zuojianwei
docker run -tid -p <port>:80 apachecn0/sjtu-econmgt-currfin-zuojianwei
# 访问 http://localhost:{port} 查看文档
```

### PYPI

```
pip install sjtu-econmgt-currfin-zuojianwei
sjtu-econmgt-currfin-zuojianwei <port>
# 访问 http://localhost:{port} 查看文档
```

### NPM

```
npm install -g sjtu-econmgt-currfin-zuojianwei
sjtu-econmgt-currfin-zuojianwei <port>
# 访问 http://localhost:{port} 查看文档
```
sjtu-econmgt-currbank-zhuojianwei 2023.1.27.0
上海交大安泰经管货币银行学课件（卓建伟）
Requires Python: >=3.6

# 上海交大安泰经管货币银行学课件（卓建伟）

## 下载

### Docker

```
docker pull apachecn0/sjtu-econmgt-currbank-zhuojianwei
docker run -tid -p <port>:80 apachecn0/sjtu-econmgt-currbank-zhuojianwei
# 访问 http://localhost:{port} 查看文档
```

### PYPI

```
pip install sjtu-econmgt-currbank-zhuojianwei
sjtu-econmgt-currbank-zhuojianwei <port>
# 访问 http://localhost:{port} 查看文档
```

### NPM

```
npm install -g sjtu-econmgt-currbank-zhuojianwei
sjtu-econmgt-currbank-zhuojianwei <port>
# 访问 http://localhost:{port} 查看文档
```
sjtu-econmgt-compfin-tangzongming 2023.1.27.0
上海交大安泰经管公司金融学课件（唐宗明）
Requires Python: >=3.6

# 上海交大安泰经管公司金融学课件（唐宗明）

## 下载

### Docker

```
docker pull apachecn0/sjtu-econmgt-compfin-tangzongming
docker run -tid -p <port>:80 apachecn0/sjtu-econmgt-compfin-tangzongming
# 访问 http://localhost:{port} 查看文档
```

### PYPI

```
pip install sjtu-econmgt-compfin-tangzongming
sjtu-econmgt-compfin-tangzongming <port>
# 访问 http://localhost:{port} 查看文档
```

### NPM

```
npm install -g sjtu-econmgt-compfin-tangzongming
sjtu-econmgt-compfin-tangzongming <port>
# 访问 http://localhost:{port} 查看文档
```
sjtu-econmgt-bizstat-songtingting 2023.1.27.0
上海交大安泰经管商务统计学课件（宋婷婷）
Requires Python: >=3.6

# 上海交大安泰经管商务统计学课件（宋婷婷）

## 下载

### Docker

```
docker pull apachecn0/sjtu-econmgt-bizstat-songtingting
docker run -tid -p <port>:80 apachecn0/sjtu-econmgt-bizstat-songtingting
# 访问 http://localhost:{port} 查看文档
```

### PYPI

```
pip install sjtu-econmgt-bizstat-songtingting
sjtu-econmgt-bizstat-songtingting <port>
# 访问 http://localhost:{port} 查看文档
```

### NPM

```
npm install -g sjtu-econmgt-bizstat-songtingting
sjtu-econmgt-bizstat-songtingting <port>
# 访问 http://localhost:{port} 查看文档
```
sjtu-econmgt-account 2023.1.27.0
上海交大安泰经管会计学原理课件
Requires Python: >=3.6

# 上海交大安泰经管会计学原理课件

## 下载

### Docker

```
docker pull apachecn0/sjtu-econmgt-account
docker run -tid -p <port>:80 apachecn0/sjtu-econmgt-account
# 访问 http://localhost:{port} 查看文档
```

### PYPI

```
pip install sjtu-econmgt-account
sjtu-econmgt-account <port>
# 访问 http://localhost:{port} 查看文档
```

### NPM

```
npm install -g sjtu-econmgt-account
sjtu-econmgt-account <port>
# 访问 http://localhost:{port} 查看文档
```
virtual_glob 0.2.0
Globbing of virtual file systems.
Requires Python: >=3.8

# virtual-glob

[![PyPI](https://img.shields.io/pypi/v/virtual-glob?label=PyPI&logo=pypi&style=social)](https://pypi.org/project/virtual_glob/)

Globbing of remote/virtual file systems.

## Motivation

Globbing is a common operation in many programs, but it is not always required to use the local file system, as is the case for `glob.glob` or `pathlib.Path.glob`.
This package provides a way to glob over remote/virtual file systems.

Apart from [python-glob2](https://github.com/miracle2k/python-glob2), which is unmaintained,
I could not find another Python packages that provided this functionality, so I made my own!

## Usage

Install the package:

```bash
pip install virtual-glob
```

Use the `glob` function, which can take a `pathlib.Path` instance, the provided `InMemoryPath` class, or any other class that implements the `VirtualPath` below:

```python
from virtual_glob import glob, InMemoryPath

fs = InMemoryPath.from_list(["a/b/c/my1.txt", "e/f/g/my2.txt", "x/y/z/other.txt"])
matches = {p.path for p in glob(fs, "**/my[0-9].txt")}
assert matches == {"a/b/c/my1.txt", "e/f/g/my2.txt"}
```

`glob` also accepts the keyword arguments:

- `follow_symlinks`: whether to follow symbolic links when iterating directories (default: `False`)
- `depth_first`: whether to iterate directories in depth-first order, or breadth-first (default: `True`)

See the tests for more examples.

## Virtual file systems

The file system must be accessible via a single class, directly mimicking `pathlib.Path`, with the following protocol:

```python
class VirtualPath(Protocol):
    @property
    def name(self) -> str:
        """Return the name of this path."""

    def is_dir(self) -> bool:
        """Return True if this path is a directory."""

    def is_symlink(self) -> bool:
        """Return True if this path is a symbolic link."""

    def iterdir(self: PathType) -> Iterable[PathType]:
        """Iterate over the contents of this directory."""

    def joinpath(self: PathType, *parts: str) -> PathType:
        """Join this path with the given parts."""

    def exists(self) -> bool:
        """Return True if this path exists."""
```

## Rules

- Patterns must be in POSIX format, i.e. `/` is the path separator.
- Patterns must be relative, i.e. they must not start with `/`.
- Patterns are case-sensitive.
- Patterns with a trailing `/` only match directories.
- `**` matches zero or more directories, it must be the only thing in a path segment.
- `*` matches zero or more characters, except `/`.
- `?` matches exactly one character, except `/`.
- `[...]` matches one character in the set, except `/`.
- `[!...]` matches one character not in the set, except `/`.

## Design

Make as few calls to the underlying file system as possible, particularly for `iterdir`.
For example, looking to "short-circuit" when a pattern contains no "magic" characters.