semvec/pypi-packages huggingface dataset:
apkutils3 2.0.14
Utils for parsing apk. Type hinting supported.
License: MIT
Requires Python: <4.0,>=3.11
Keywords: apk, dex, axml, arsc, android

# apkutils3 [![PyPI version](https://badge.fury.io/py/apkutils3.svg)](https://badge.fury.io/py/apkutils3) [![GitHub license](https://img.shields.io/github/license/Young-Lord/apkutils3.svg)](https://github.com/Young-Lord/apkutils3/blob/master/LICENSE)

A library that gets infos from APK.

Type hinting added for many functions.

Many getter functions are replaced by properties.

## Install and Test

```shell
pip install apkutils3
```

## Usage

```shell
$ python3 -m apkutils -h
usage: apkutils [-h] [-m] [-s] [-f] [-c] [-V] p

positional arguments:
  p              path

optional arguments:
  -h, --help     show this help message and exit
  -m             Show manifest
  -s             Show strings
  -f             Show files
  -c             Show certs
  -V, --version  show program's version number and exit
```

GUI tool

```shell
$ python -m apkutils.gui
# Click Bind
```

Right click an `*.apk` file. Select `APK Parser`. You will see

![apk parser example image](imgs/apk-parser.png)

## Reference

- apkutils\axml from [kin9-0rz/axmlparser](https://github.com/kin9-0rz/axmlparser) ![Project unmaintained](https://img.shields.io/badge/project-unmaintained-red.svg)
- apkutils\dex from [Storyyeller/enjarify](https://github.com/Storyyeller/enjarify) ![Project unmaintained](https://img.shields.io/badge/project-unmaintained-red.svg), license under Apache License 2.0.
- Original projects: [apkutils2](https://github.com/codeskyblue/apkutils2)  ![Project unmaintained](https://img.shields.io/badge/project-unmaintained-red.svg), [apkutils](https://github.com/kin9-0rz/apkutils), license under MIT License.
- [LibChecker](https://github.com/LibChecker/LibChecker) used for classes list generation, license under Apache License 2.0.
GGH-crypto 1.0.4
GGH_crypto is a Python package for lattice-based cryptography, focusing on GGH and GGH-HNF implementations.
License: MIT
Keywords: GGH, GGH-HNF, GGH_CRYPTO, Lattice, LLL, BKZ, Lattice-based-cryptography

# GGH-crypto
GGH-crypto is a Python package implementing the Goldreich-Goldwasser-Halevi (GGH) public key cryptosystem and its optimization, GGH-HNF by Micciancio. This package is designed for educational and research purposes, offering insights into lattice-based cryptography.
This project was developed as part of a 3-year degree program at the UniversitÃ  degli Studi di Milano (University of Milan). It explores the resilience of lattice-based cryptography against quantum threats and introduces an hybrid variant.

# Features

- Implementation of the original GGH cryptosystem (1997)
- Implementation of the GGH-HNF optimization (2002)
- Utility functions for lattice-based cryptography
- Algorithms for solving the Closest Vector Problem (CVP)
- Lattice reduction algorithms

# Usage and details
For detailed installation, usage, examples and documentation, please visit the [GitHub repository](https://github.com/TheGaBr0/GGH).


# Note
Both the original GGH cryptosystem and its GGH-HNF optimization have known security vulnerabilities. This implementation is not intended for production use.
dijkstra-solver 0.1.0
A Python implementation of Dijkstra's algorithm for finding the shortest path in a weighted graph.
License: MIT

# Dijkstra's Algorithm Solver

This Python implementation solves the shortest path problem in a weighted graph using **Dijkstra's algorithm**. It allows you to create a graph, specify source and destination nodes, and compute the shortest path between them.

## Features
- **Graph Representation**: The graph is represented as a dictionary, where each node has a list of neighbors and their respective weights.
- **Customizable Source and Destination**: If no source or destination is provided, the first and last nodes in the graph are chosen by default.
- **Heap-based Priority Queue**: The algorithm uses a heap (priority queue) for efficient node selection.
- **Shortest Path Calculation**: Returns both the shortest distance and the shortest path between two nodes.

## Installation

### From PyPI

To install the Dijkstra solver from PyPI, use the following command:

```bash
pip install dijkstra-solver
```

### From Source

1. Clone the repository:
   ```bash
   git clone https://github.com/h471x/dijkstra_solver.git
   ```

2. Navigate to the project directory:
   ```bash
   cd dijkstra_solver
   ```

3. Run the default code (just for testing):
   ```bash
   python dijkstra/main.py
   ```

4. Build the package:

  ```bash
  python setup.py sdist bdist_wheel
  ```

5. Install the package:

  ```bash
  pip install dist/pypass_tool-*.whl
  ```

## Usage

To use the Dijkstra solver, create a new python file, 
then here is the sample example:

1. Import the Dijkstra class and initialize the graph:
   ```python
   from dijkstra import Dijkstra
   
   # Define a weighted graph
   graph = {
       'A': {'B': 1, 'C': 4},
       'B': {'C': 2, 'D': 5},
       'C': {'D': 1},
       'D': {}
   }
   
   # Initialize the Dijkstra solver
   dijkstra = Dijkstra(graph)
   
   # Solve for the shortest path from A to D
   dijkstra.solve(source_node='A', destination_node='D')
   ```

2. The output will display the shortest distance and the path:
   ```
   Path: A -> D
   Shortest Distance: 4
   Shortest Path: A -> B -> C -> D
   ```

### Methods Overview

- **`get_graph_size(graph: dict)`**: Returns the number of nodes in the graph.
  
- **`get_node_data(graph: dict)`**: Initializes each node with an infinite cost and an empty predecessor.

- **`get_src_dest_node(graph: dict)`**: Returns a list of all nodes in the graph.

- **`get_default_nodes(source: str, destination: str, keys: list[str])`**: Sets default source and destination if none are provided.

- **`solve(graph: dict, source: str, destination: str)`**: Computes the shortest path from the source node to the destination node using Dijkstra's algorithm.

### Example Graph

Here is an example of a weighted graph:

```python
graph = {
    'A': {'B': 2, 'C': 5},
    'B': {'C': 1, 'D': 4},
    'C': {'D': 2},
    'D': {}
}
```