semvec/pypi-packages huggingface dataset:
android-bp 0.3.1
A python module to parse Android.bp files
Requires Python: >=3.8
Keywords: android, bp, parser, blueprint, soong

## android-bp

A python module to parse Android.bp files (wrapper for android_bp rust module)

## Goals

This module will quickly parse Android.bp files and provide a python interface to access the data.

## Non-Goals

This module is only intended to parse Android.bp files, not to generate or rewrite them.

## Usage

```python
    from android_bp import BluePrint

    # bp is a rust object, but behave mostly like a read only python object
    bp = BluePrint.from_file("Android.bp")

    # for debug, you can print any of internal objects
    # they will be printed as rust would in debug fmt
    print(bp)

    # internal variables are accessible as a python dict
    print(bp.variables)

    # modules are accessible as a python list
    for m in bp.modules:
        if m.__type__ == "rust_binary":
            # module properties can be accessed directly as python attributes
            print(m.name)

    # or iter them by type
    for m in bp.modules_by_type("rust_host_test"):
        # or via __dict__
        print(m.__dict__["name"])

        # for convenience, unknown properties return None (not an AttributeError)
        print(m.unknown_attribute) # prints None

        # map properties are accessible as python dicts
        print(m.test_options['unit_test'])
```
code-context-architect 0.2.3
Context Architect: CLI for AI Coding Context
Requires Python: >=3.7


```bash
# Context Architect (ZMB)

**Stop Fighting the Context Window.**

The intelligent CLI that curates your codebase for AI coding assistants. Focus on what matters, ignore the noise.

[**View Public Roadmap**](https://github.com/ADevBelgie/ZMB-Prototype/blob/master/docs/ROADMAP.md) | [**Read the Docs**](https://github.com/ADevBelgie/ZMB-Prototype)

```bash
pip install code-context-architect
```

### Usage

```bash
context-architect scan
context-architect generate --output context.md
context-architect generate --focus auth
```
context-architect 0.2.3
Context Architect: CLI for AI Coding Context
Requires Python: >=3.7


```bash
# Context Architect (ZMB)

**Stop Fighting the Context Window.**

The intelligent CLI that curates your codebase for AI coding assistants. Focus on what matters, ignore the noise.

[**View Public Roadmap**](https://github.com/ADevBelgie/ZMB-Prototype/blob/master/docs/ROADMAP.md) | [**Read the Docs**](https://github.com/ADevBelgie/ZMB-Prototype)

```bash
pip install context-architect
```

### Usage

```bash
context-architect scan
context-architect generate --output context.md
context-architect generate --focus auth
```
zmb-cli 0.2.2
Context Architect: CLI for AI Coding Context
Requires Python: >=3.7


```bash
# Context Architect (ZMB)

**Stop Fighting the Context Window.**

The intelligent CLI that curates your codebase for AI coding assistants. Focus on what matters, ignore the noise.

[**View Public Roadmap**](https://github.com/ADevBelgie/ZMB-Prototype/blob/master/docs/ROADMAP.md) | [**Read the Docs**](https://github.com/ADevBelgie/ZMB-Prototype)

```bash
pip install .
```

### Usage

```bash
context-architect scan
context-architect generate --output context.md
context-architect generate --focus auth
```
aiohttp-tor 0.2.0
Tor utilities for using with aiohttp
Requires Python: >=3.10

# Aiohttp-Tor
[![PyPI version](https://badge.fury.io/py/aiohttp-tor.svg)](https://badge.fury.io/py/aiohttp-tor)
![PyPI - Downloads](https://img.shields.io/pypi/dm/aiohttp-tor)

Inspired by the stem library from the tor-project, this project attempts to make 
seemless transitions with aiohttp and tor. For both clients and hosting. 

## Running Clients
```python
from aiohttp_tor import launch, MessageHandler
from aiohttp import ClientSession
import asyncio


# if you want to use the init_msg_handler here's the steps to follow.
handler = MessageHandler()

@handler.on_message
async def send_message(msg:str):
    print(msg)


async def request_for_onionsite():
    async with launch(ctrl_port=9051, socks_port=9050, init_msg_handler=handler) as process:
        # NOTE: use connect() to avoid any annoying setups. 
        # there's nothing more stressful than remebering what ports to use.
        async with ClientSession(connector=process.connect()) as session:
            async with session.get("http://mf34jlghauz5pxjcmdymdqbe5pva4v24logeys446tdrgd5lpsrocmqd.onion/index.html") as resp:
                data = await resp.read()
                print(data)
                # b'\n\n<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"\n ... and so on...

    

if __name__ == "__main__":
    asyncio.run(request_for_onionsite())
```


## Running Tor Hidden Services

```python
from aiohttp_tor.web import run_app
from aiohttp.web import Application, RouteTableDef, Request, Response

import winloop # There's custom options for uvloop/winloop thanks to loop_factory

routes = RouteTableDef()
app = Application()

@routes.get('/')
async def index(request:Request):
    return Response(body=b"<html><body><h1>Hi Grandma!</h1></body></html>", content_type="text/html")

# Tor hidden service will be located in a .tor-hs directory
# unless you pass a hidden_service_dir parameter, this is to make 
# things friendly for beginners but it's encouraged to change it's path 
# so that bad actors can't find it.

if __name__ == "__main__":
    app.add_routes(routes)
    run_app(app, loop_factory=winloop.new_event_loop, port=6999)

```

## Requirements
- Python 3.10+ (Due to how aiostem works)
- aiostem
- aiohttp-socks (For sending Client Requests)
- aiohttp