Search for apks on varius websites
Project description
apksearch
apksearch is a Python library designed to search for APK files on different APK websites, such as APKPure and APKMirror. It allows users to find APKs, check for available versions, and retrieve download links.
The Inspiration: There were countless occasions when I needed a specific APK for a package name, only to find it unavailable on popular platforms. This led to the tedious task of manually visiting multiple websites and searching one by one.
Features
- Search APKs: The library provides methods to search for APKs using package names.
- Retrieve APK Versions and Download Links: It can fetch available versions and their download links for a given APK from APKPure and APKMirror.
- Command-Line Interface: A CLI is available for users to search for APKs directly from the command line.
Installation
To install the apksearch library, use the following command:
pip install git+https://github.com/AbhiTheModder/apksearch.git
OR, through pip:
pip install apksearch
Usage
Command-Line Interface
To use the CLI, run the following command:
apksearch <package_name> [--version <version>]
Example:
apksearch com.roblox.client --version 2.652.765
Library Usage
You can also use the library programmatically in your Python code:
from apksearch import APKPure, APKMirror
# Searching on APKPure
apkpure = APKPure("com.roblox.client")
result = apkpure.search_apk()
if result:
title, link = result
print(f"Found on APKPure: {title} - {link}")
# Searching on APKMirror
apkmirror = APKMirror("com.roblox.client")
result = apkmirror.search_apk()
if result:
title, link = result
print(f"Found on APKMirror: {title} - {link}")
Classes and Methods
APKPure
__init__(self, pkg_name: str): Initializes with the package name.search_apk(self) -> None | tuple[str, str]: Searches for the APK on APKPure and returns the title and link if found.find_versions(self, apk_link: str) -> list[tuple[str, str]]: Finds and returns a list of versions and their download links for the given APK link.
APKMirror
__init__(self, pkg_name: str): Initializes with the package name.search_apk(self) -> None | tuple[str, str]: Searches for the APK on APKMirror and returns the title and link if found.find_version(self, apk_link: str, version: str) -> str: Finds and returns the download link for the given APK link and version.
AppTeka
__init__(self, pkg_name: str): Initializes with the package name.search_apk(self, version: str = None) -> None | tuple[str, str]: Searches for the APK on AppTeka and returns the title and link if found. If a version is provided, it checks if that version is available and returns the corresponding download link, None otherwise. If no version is provided, it returns the link for the latest version available.
APKCombo
__init__(self, pkg_name: str): Initializes with the package name.search_apk(self) -> None | tuple[str, str]: Searches for the APK on APKCombo and returns the title and link if found.find_versions(self, apk_link: str) -> list[tuple[str, str]]: Finds and returns a list of versions and their download links for the given APK link.
Testing
The project includes tests for the sites classes. To run the tests, use the following command:
pytest
TODO
- Add more websites to search for APKs.
License
This project is licensed under the MIT License. See the LICENSE file for more details.
Contributing
Contributions are welcome! Please open an issue or submit a pull request on GitHub.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file apksearch-1.2.0.tar.gz.
File metadata
- Download URL: apksearch-1.2.0.tar.gz
- Upload date:
- Size: 10.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ec87880cad8bae71975334b77f9370d83494f7a6bfa22d1b48c119962d97a3b
|
|
| MD5 |
da7b46a03176c4271dbff60d2831afa7
|
|
| BLAKE2b-256 |
8095adcd1004e9af6bd4d7f0c5e20224b22331ab9c1ead845475e07f4c9ed549
|
Provenance
The following attestation bundles were made for apksearch-1.2.0.tar.gz:
Publisher:
python-publish.yml on AbhiTheModder/apksearch
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
apksearch-1.2.0.tar.gz -
Subject digest:
8ec87880cad8bae71975334b77f9370d83494f7a6bfa22d1b48c119962d97a3b - Sigstore transparency entry: 158892859
- Sigstore integration time:
-
Permalink:
AbhiTheModder/apksearch@cf609a74eb7f9a37634a47c86d757c9cf2b35a32 -
Branch / Tag:
refs/tags/1.2.0 - Owner: https://github.com/AbhiTheModder
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@cf609a74eb7f9a37634a47c86d757c9cf2b35a32 -
Trigger Event:
release
-
Statement type:
File details
Details for the file apksearch-1.2.0-py3-none-any.whl.
File metadata
- Download URL: apksearch-1.2.0-py3-none-any.whl
- Upload date:
- Size: 12.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23c8a80fb32b16a47d76bf2e990d44757ffe20cb32abbda321024c68329c8a44
|
|
| MD5 |
184500d88765cdc8e9b0f964bdac73b0
|
|
| BLAKE2b-256 |
128a10f0368f974ae61a61cb43742e7bd334d0e99723005e83b803b824b3855b
|
Provenance
The following attestation bundles were made for apksearch-1.2.0-py3-none-any.whl:
Publisher:
python-publish.yml on AbhiTheModder/apksearch
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
apksearch-1.2.0-py3-none-any.whl -
Subject digest:
23c8a80fb32b16a47d76bf2e990d44757ffe20cb32abbda321024c68329c8a44 - Sigstore transparency entry: 158892862
- Sigstore integration time:
-
Permalink:
AbhiTheModder/apksearch@cf609a74eb7f9a37634a47c86d757c9cf2b35a32 -
Branch / Tag:
refs/tags/1.2.0 - Owner: https://github.com/AbhiTheModder
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@cf609a74eb7f9a37634a47c86d757c9cf2b35a32 -
Trigger Event:
release
-
Statement type: