semvec/pypi-packages huggingface dataset:
nameko-django-orm 2.0.4
Use django into a nameko service

This package setup the django framework to take advantage of the ORM features and some other django features.

You need to specify the DJANGO_SETTINGS_MODULE environment variable, if not, 'settings' is used by default.

Inject the dependency into the nameko service with the DjangoModels dependency.

Supposing you injected the DjangoModels dependency into the `models` variable, you can use from your procedures like `self.models.MyModel.objects.all()`.
dnstap-pb 0.11.3
Dnstap Protocol Buffers implementation in Python
Keywords: dnstap protobuf decoder encoder

# Dnstap Protocol Buffers implementation in Python

Dnstap Protocol Buffers implementation in Python, more informations on dnstap http://dnstap.info/.
This library is based on the following [protocol buffers schema](https://raw.githubusercontent.com/dnstap/dnstap.pb/master/dnstap.proto) from github https://github.com/dnstap/dnstap.pb

## Installation

This module can be installed from [pypi](https://pypi.org/project/dnstap_pb) website

```python
pip install dnstap_pb
```

## Decoder

Example to use the Dnstap decoder

```python
import dnstap_pb

# dnstap decoder
dnstap = dnstap_pb.Dnstap()

payload = b'\n\x08dnsdist1\x12\rdnsdist 1.5.0r[\x08\x05\x10\x01\x18\x01"\x04\n\x00'
payload += b'\x00\xd2*\x04\n\x00\x00\xd20\xe6\xae\x0385@\x8e\x8f\xc6\xff\x05M\x1cf,'
payload += b'\x15R6\xda\xba\x01 \x00\x01\x00\x00\x00\x00\x00\x01\x03www\x06google\x02'
payload += b'fr\x00\x00\x01\x00\x01\x00\x00)\x10\x00\x00\x00\x00\x00\x00\x0c\x00\n\x00'
payload += b'\x08\xe68\xe3\x8e\x7f\x01\xdexx\x01'

dnstap.ParseFromString(payload)

dm = dnstap.message
print(dm)
type: CLIENT_QUERY
socket_family: INET
socket_protocol: UDP
query_address: "\n\000\000\322"
response_address: "\n\000\000\322"
query_port: 60218
response_port: 53
query_time_sec: 1609664434
query_time_nsec: 533617553
query_message: "\221W\001 \000\001\000\000\000\000\000\001\003www\006google\002fr\000\000\001
\000\001\000\000)\020\000\000\000\000\000\000\014\000\n\000\010\273\257\370\014_\001\341-"
```

## Encoder

Example to use the Dnstap encoder

```python
import dnstap_pb

# dnstap encoder
dnstap = dnstap_pb.Dnstap()

# clear all fields
dnstap.Clear()

# constructs the message
dnstap.type = 1
dnstap.version = b"0.1.0"
dnstap.identity = b"dnstap_python"

dnstap.message.type = dnstap_pb.dnstap_pb2._MESSAGE_TYPE.values_by_name["CLIENT_QUERY"].number
dnstap.message.socket_protocol = dnstap_pb.dnstap_pb2._SOCKETPROTOCOL.values_by_name["UDP"].number
dnstap.message.socket_family = dnstap_pb.dnstap_pb2._SOCKETFAMILY.values_by_name["INET"].number

# serialize the dnstap message to binary
payload = dnstap.SerializeToString()
```

# Development

dnstap_pb2 file generation guideline
 
Download dnstap.proto from https://github.com/dnstap/dnstap.pb

```
wget https://raw.githubusercontent.com/dnstap/dnstap.pb/master/dnstap.proto
```

Download protoc

```
export VER=21.5
wget https://github.com/protocolbuffers/protobuf/releases/download/v$VER/protoc-$VER-linux-x86_64.zip
unzip protoc-$VER-linux-x86_64.zip
```

Generate proto

```
python3 -m pip install protobuf
bin/protoc --python_out=. dnstap.proto
```
snakeres 0.1
Extract the resource specifications from a snakemake workflow and create a workflow profile
Requires Python: >=3.12

# snakeres

This tool can be used to extract the resource specifications and job grouping from a snakemake workflow and create a workflow profile. 
It also writes a version of the workflow definition with the resource specifications and grouping information removed.



## Installation

snakeres needs python >=3.12 and pip. Then it can be installed with:

`pip install snakeres`

## Usage

```
usage: snakeres [-h] [--input INPUT] [--output-profile OUTPUT_PROFILE] [--output-smk OUTPUT_SMK]

Generate a workflow profile from a snakefile

options:
-h, --help                              show this help message and exit
--input INPUT                           Path to snakefile
--output-profile OUTPUT_PROFILE         Output profile file (default: profile.yaml)
--output-smk OUTPUT_SMK                 Output snakefile without the directives (default: snakefile_cleaned)
```


## Testing

The code is covered by pytests. To run these install: `pip install pytest pytest-cov`. Then run tests: `cd tests; pytest --cov --cov-report html`.
To test local builds: `hatch build && pip install dist/snakeres-V-py3-none-any.whl --force-reinstall --no-deps`



## Install development environment

```
conda env create -f dev.yaml -n snakeres_dev
conda activate snakeres_dev
pip install -e .
cd tests
pytest --cov --cov-report html
```

# New release

```
hatch build
pip install dist/snakeres-V-py3-none-any.whl --force-reinstall --no-deps
pytest --cov --cov-report html
hatch publish
```