semvec/pypi-packages huggingface dataset:
dexparser 1.2.0
Powerful DEX file format parser for Pythonista
Requires Python: >=3.5

# dexparser

Powerful DEX file format parser for Pythonist!

[![Build Status](https://travis-ci.com/bunseokbot/dexparser.svg?branch=master)](https://travis-ci.com/bunseokbot/dexparser)
[![PyPI version](https://badge.fury.io/py/dexparser.svg)](https://badge.fury.io/py/dexparser)
[![Documentation Status](https://readthedocs.org/projects/dexparser/badge/?version=latest)](https://dexparser.readthedocs.io/en/latest/?badge=latest)
[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fbunseokbot%2Fdexparser&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false)](https://hits.seeyoufarm.com)

## Usage

See the [docs](https://dexparser.readthedocs.io/en/latest/) for detail descriptions.

### Pre-requirements

* Python 3.x (Unofficially, dexparser support Python 2.x)
* DEX friendly mind

### Install
`pip install dexparser`

### Load DEX from filename
```
from dexparser import DEXParser

filedir = '/path/to/classes.dex'
dex = DEXParser(filedir=filedir)
```

### Load DEX file from object
```
from dexparser import DEXParser

with open('classes.dex', 'rb') as fileobj:
    dex = DEXParser(fileobj=fileobj.read())
```

### Load APK file from object and filename
```
from dexparser import APKParser

filedir = '/path/to/test.apk'
apk = APKParser(filedir=filedir)

with open('/path/to/test.apk', 'rb') as fileobj:
    apk = APKParser(fileobj=fileobj.read())
```

### Load AAB file from object and filename
```
from dexparser import AABParser

filedir = '/path/to/test.apk'
aab = AABParser(filedir=filedir)

with open('/path/to/test.apk', 'rb') as fileobj:
    aab = AABParser(fileobj=fileobj.read())
```


## License
This project is licensed under the MIT License

## Reference
* [Dalvik Executable Format](https://source.android.com/devices/tech/dalvik/dex-format)
* [dexparser released! (Korean)](https://iam.namjun.kim/opensource/2019/12/25/dexparser-released/)
helloconfig 0.1.0.post1
Describe config, i'll create it
Requires Python: >=3.7

## Hello, config!

### So, what's the plan?

1. You are describing config as dataclass
2. I'm making sample file with needed fields
3. You're filling them in
4. ???????
5. App is good to go

__What's was not mentioned:__

    nested fields supported cherez zhopu (are not supported)
    cause it's too complicated for me, i'll try to do it again later

    you can try nested fields, but updating existing config will not work

    also there is some problem (idfk what) with dataclass fields
    defined as class variables (not annotations)

### About

Available on PyPI, so can be installed with `pip install helloconfig`

Supports Python, YAML, JSON and .env configuration files

Main feature (and why i made this library) is creating config file if it's not exists.
If config class was updated and existing config misses any field,
file will be updated with fields needed.

Data loaded with [dataclass-factory](https://github.com/reagento/dataclass-factory) library,
so also value validation should be supported, but this require additional meta programming,
which... i also will do later.\
(unfortunately, DF didn't support validators in
dataclasses by design, so it's not ready out of the box)

### Usage

On first run last line will raise `helloconfig.FieldsMissing` exception
and create file with zero (or default, if specified in class) values.

```python
from helloconfig import PythonConfig


class Config(PythonConfig):
    host: str
    port: int = 8080


config = Config.from_file('config.pyi')
```

### About formats

`PythonConfig`, `YamlConfig`, `DotEnvConfig`
preserve existing comments when updating fields.\
(new fields are appending to the end of file)

`JsonConfig` does not support comments, and even order of fields
may change.

### what is nested fields

```python
class Config(PythonConfig):
    a: str

    class some_field:
        nested_field: int
```

it will result in following python file

```python
a = ''

class some_field:
    nested_field = 0
```

and only PythonConfig tested such way,
other types don't know anything about nesting