semvec/pypi-packages huggingface dataset:
python-xgraph 1.0.2
A simple graph library with DFS, BFS, and cycle detection.
License: MIT
Requires Python: >=3.6
Keywords: graph, DFS, BFS, cycle detection, topological sort

# python-xgraph

`python-xgraph` is a simple Python library for working with graphs. It provides basic functionalities like adding vertices and edges, performing DFS and BFS, detecting cycles, and more.

## Installation

You can install the package via pip:

```bash
pip install python-xgraph
```

## Usage

```
from python_xgraph import Graph

g = Graph(directed=True)
g.add_vertex("A")
g.add_edge("A", "B")
print(g.dfs("A"))
```

Initialize using a dictionary
```
from python_xgraph import Graph

g = Graph({"A":["B","C"], "B":["D","E"], "C":["X","Y"]}, directed=True)

print(g.has_cycle())
print(g.topological_sort(reverse=True))

```
markdown-img2fig 1.0.1
Convert markdown imgs into captioned <figure>s
License: MIT
Requires Python: >=3.8
Keywords: markdown img figure caption

# Markdown img2fig

Convert inline markdown images to captioned figures.

Inspirated by [markdown-captions](https://github.com/Evidlo/markdown_captions) and [yafg](https://git.sr.ht/~ferruck/yafg).

## Installation

``` bash
pip install markdown-img2fig
```

## Usage

### Markdown module
``` python
import markdown
import img2fig

data = markdown.markdown(
    md,
    extensions=[
        img2fig.Img2FigExtension(
            source_attr="title",
            remove_attr=True,
            force_convert=True,
            empty_as_none=True,
        ),
        'attr_list',  # optional
    ]
)
```

### MkDocs `mkdocs.yml`
``` yaml
markdown_extensions:
  - img2fig:
      source_attr: title
      remove_attr: true
      force_convert: true
      empty_as_none: true
  - attr_list # optional
```

### Result
``` md
![Alt text](image.jpg "Title text"){: .someclass }
```
``` html
<figure class="someclass">
    <img alt="Alt text" src="image.jpg" />
    <figcaption>Title text</figcaption>
</figure>
```


## Options

- `source_attr` (default: 'title')<br>
  Use 'title' or 'alt' attribute as the caption.
- `remove_attr` (default: True)<br>
  Remove the alt/title attribute after conversion.
- `force_convert` (default: True)<br>
  Convert all images to figures, missing alt/title will cause figures without figcaptions.<br>
  If false, images will be left as is.
- `empty_as_none` (default: True)<br>
  Treat empty alt/title as if they don't exist.

## License

Licensed under the MIT License.
pymemos 0.2.0
A Python-based command-line interface for interacting with the Memos API
License: MIT
Requires Python: >=3.12

# 📝 pymemos

Supercharge your note-taking with pymemos - your Python-based command-line companion for the Memos API!

## 🚀 Features

- ✍️ Create, read, update, and delete memos
- 🏷️ Manage memo visibility (Private, Protected, Public)
- 📂 List and manage resources
- 🗑️ Bulk delete all memos
- 🖥️ Clean, intuitive command-line interface
- 🐞 Debug logging for troubleshooting

## 🛠️ Installation

Get up and running in no time:

```
    pip install pymemos
```

## Configuration

Before using pymemos, you need to set the following environment variables:

- `MEMOS_BASE_URL`: The base URL of your Memos API (e.g., `http://localhost:5230`)
- `MEMOS_ACCESS_TOKEN`: Your access token (required)

You can set these in your shell:

```bash
export MEMOS_BASE_URL="http://your-memos-instance.com/api/v1"
export MEMOS_ACCESS_TOKEN="your-access-token"
```

## 🎮 Usage

After installation and configuration, you can use the `pymemos` command to interact with your Memos instance:

```bash
pymemos [command] [options]
```

Available commands:

- `create`: Create a new memo
- `list`: List all memos
- `get`: Retrieve a specific memo
- `update`: Update an existing memo
- `delete`: Delete a specific memo
- `delete-all`: Delete all memos (use with caution!)
- `list-resources`: List all resources

### Examples

1. Create a new memo:
   ```
   pymemos create --content "Remember to buy groceries" --visibility PRIVATE
   ```

2. List all memos:
   ```
   pymemos list
   ```

3. Get a specific memo:
   ```
   pymemos get <memo_uid>
   ```

4. Update a memo:
   ```
   pymemos update <memo_uid> --content "Updated content"
   ```

5. Delete a memo:
   ```
   pymemos delete <memo_uid>
   ```

6. Delete all memos:
   ```
   pymemos delete-all
   ```
   Use the `--force` flag to skip the confirmation prompt:
   ```
   pymemos delete-all --force
   ```

## 🐞 Debugging

To enable debug logging, use the `--debug` flag with any command:

```bash
pymemos --debug [command] [options]
```

Debug logs are written to `memos_debug.log` in the current directory.

## 🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## 📄 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## 🙏 Acknowledgements

- [Memos](https://github.com/usememos/memos) - The open-source, self-hosted memo hub
vim-plugin-metadata 1.0.0rc0
Parse and analyze your vim plugins
License: MIT
Requires Python: >=3.8
Keywords: vim, parsing, tree-sitter

# vim-plugin-metadata

Parse and analyze your vim plugins.

WARNING: This library is in early development, still missing functionality, and probably has plenty
of bugs. Use at your own risk.

## Usage

pip install it, point it at a file, get metadata:

```python
import vim_plugin_metadata

parser = vim_plugin_metadata.VimParser()
parser.parse_plugin_dir(".vim/plugged/someplugin")
```
```
VimPlugin([VimModule("plugin/somefile.vim", …), VimModule("autoload/someplugin.vim", …)])
```

```python
parser.parse_module_str("""
""
" File header comment

""
" Does something cool.
func MyFunc() abort
  …
endfunc
""")
```
```
VimModule(doc="File header comment", nodes=[Function(name="MyFunc", args=[], modifiers=["abort"], doc="Does something cool.")])
```
click-pendulum 0.2.1
Pendulum type support for click.
License: MIT
Requires Python: <4.0,>=3.12

# Click Pendulum

Click support for Pendulum date, time, interval and duration types to allow 
developers to easily parse strings as parameters to Python click CLIs.

## Example: `pendulum.DateTime`

You can accept a Pendulum DateTime as a parameter to your click CLI

```python
import click, pendulum
from click_pendulum import DateTime

@click.option(
    "--date",
    type=DateTime(),
    default=pendulum.now(),
    help="An example parsing and printing a datetime.",
)
@click.command()
def cli(date: pendulum.DateTime):
    click.echo("The date : {0}".format(date))

if __name__ == "__main__":
    cli()  # type: ignore
```

```bash
$ python examples/datetime_with_custom_format.py --date=2016-01-01
The date : 2016-01-01 00:00:00+00:00
```

## Example: `pendulum.Duration`

You can accept a Pendulum Duration as a parameter to your click CLI

```python
import click, pendulum
from click_pendulum import Duration

@click.option(
    "--duration",
    type=Duration(),
    help="Parse a duration string.",
)
@click.command()
def cli(duration: pendulum.Duration):
    click.echo(f"Duration: {duration}")

if __name__ == "__main__":
    cli()  # type: ignore
```

```bash
$ python examples/duration_parser.py --duration="2d5h"
Duration: 2 days 5 hours
```

```bash
pip install click-pendulum
```

## Development

### Building and packaging

```bash
poetry build
```

### Testing the compiled wheel

```bash
# Create a virtual environment for testing
python -m .venv/test
source .venv/test/bin/activate

# Confirm importing and exporting is correct
python -c 'import click_pendulum as cd; print(dir(cd))'
```

## Authors

- Dawson Reid (@ddaws)