Skip to main content

nPhoneKIT as an interfaceable and easy-to-implement Python PyPI package.

Project description

nPhoneCLI

nPhoneKIT as a interfaceable and easy-to-implement Python PYPI package.


Legal Warning: FRP Unlocking is only legal on your own devices. I am not responsible for misuse of this package. Only use it on your own devices.


Usage

[!NOTE] On your system, to use nPhoneCLI, you will also need ADB and Python3 installed. Also, please report any unexpected errors/issues by opening a GitHub issue.

[!IMPORTANT] If you have any contributions to make, feel free to fork, modify, and submit a PR to get it pushed to the main repo!

First, install nphonecli:

pip install nphonecli

Then, import nphonecli into your code:

import nphonecli

Then, use whatever functions are neccesary:

Example:

import nphonecli

try:
  # Save the status to check whether it succeeded later
  status = nphonecli.reboot(verbose=False)
except ConnectionAbortedError:
  # Catch the ConnectionAbortedError if the device couldn't connect.
  print("Error, the device could not reboot.")

if status = "Success"
  # Print success message if status indicates a successful reboot.
  print("Success, device rebooted")

List of all functions and purposes:

Title Function Params Uses Successful Unsuccessful Method(s)
Get Version Info verinfo(gui: bool) gui: bool Fetch version info from a device. Returns a dict which contains version info, or prints the dict if the gui bool is true. Raises a ConnectionError. AT
Reboot (Android) reboot(verbose: bool) verbose: bool Force-reboot a device (excl. Samsung). Returns "Success". Raises a ConnectionAbortedError. AT
Reboot (Samsung) reboot_sam(verbose: bool) verbose: bool Force-reboot a device (incl. Samsung). Returns "Success". Raises a ConnectionAbortedError. AT
Reboot Download Mode (Samsung) reboot_download_sam(verbose: bool) verbose: bool Force-reboot a Samsung device to Download Mode. Returns "Success". Raises a ConnectionRefusedError. AT
Open WIFITEST (Samsung) wifitest(verbose: bool) verbose: bool Open WIFITEST menu on Samsung devices. Returns "Success". Raises a RuntimeError. AT
LG Screen Unlock lg_screen_unlock(verbose: bool) verbose: bool Unlock the screen of older LG devices. Returns "Success". Raises a ConnectionRefusedError. AT
Motorola Fastboot FRP Unlock moto_frp(verbose: bool) verbose: bool Remove FRP lock from Motorola devices. Returns "Success". Raises a ConnectionError. Fastboot
FRP Unlock 2024 (Samsung, USA Only) frp_unlock_2024(verbose: bool) verbose: bool Remove FRP lock from 2024-patch Samsung USA devices. Returns "Success". Raises a ConnectionError or ConnectionRefusedError. AT, ADB
FRP Unlock 2022-2023 (Samsung) frp_unlock_2022_2023(verbose: bool) verbose: bool Remove FRP lock from 2022-2023-patch Samsung devices. Returns "Success". Raises a ConnectionError or ConnectionRefusedError. AT, ADB
FRP Unlock Pre-2022 (Samsung) frp_unlock_pre2022(verbose: bool) verbose: bool Remove FRP lock from pre-2022-patch Samsung devices. Returns "Success". Raises a ConnectionError or ConnectionRefusedError. AT, ADB
Set Battery Percentage setBatteryPercent(percent: int, verbose: bool) percent: int, verbose: bool Set a battery percentage (faked). Returns "Success". Raises a ConnectionRefusedError. ADB
Reset Battery Percentage resetBatteryPercent(verbose: bool) verbose: bool Reset the battery percent to normal. Returns "Success". Raises a ConnectionRefusedError. ADB
Remove Bloatware bloatRemove(verbose: bool) verbose: bool Remove bloatware on Samsung devices. Returns "Success". Raises a ConnectionError or ConnectionRefusedError. ADB

Final Notes

I expect this to be somewhat the "future" of open-source device unlocking & right-to-repair, as it can now be used in virtually any Python project! If you do use it, you can attribute a small message such as "nPhoneCLI provided by NlckySolutions (https://github.com/nlckysolutions)"


That's about it! You can inspect the code in src/nphonecli/core.py! Remember, do not use this on devices you do not own or have explicit permission from the owner to unlock.

[!TIP] Use verbose=True/gui=True in order to provide detailed instructions, if using the package with an end user. Automation should not need this, but the instructions will still need to be performed.


Happy New Year 2026 from NlckySolutions™!

This will be the final NlckySolutions™ project to be released in 2025.

Released on Dec. 31st 2025.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nphonecli-1.5.0.1.tar.gz (51.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nphonecli-1.5.0.1-py3-none-any.whl (38.3 kB view details)

Uploaded Python 3

File details

Details for the file nphonecli-1.5.0.1.tar.gz.

File metadata

  • Download URL: nphonecli-1.5.0.1.tar.gz
  • Upload date:
  • Size: 51.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for nphonecli-1.5.0.1.tar.gz
Algorithm Hash digest
SHA256 79bbce08e0a5a363fa6742070c65741f1767bf7cf32606bbc259d53a3e359442
MD5 0072e623cf41a305afb8aeb6d292c24f
BLAKE2b-256 e96cc626aa2776f7344adbb8c934452ada9dc342b55784f4f9e5a537df03aeb0

See more details on using hashes here.

File details

Details for the file nphonecli-1.5.0.1-py3-none-any.whl.

File metadata

  • Download URL: nphonecli-1.5.0.1-py3-none-any.whl
  • Upload date:
  • Size: 38.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for nphonecli-1.5.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e497b70a52213ebe026281a6eec065b6a032ba08497f0558de216b7e4cc52f7c
MD5 7477f9a26b72076d25c218e6bbbc3845
BLAKE2b-256 657ee0ef5392849db7805ba194e3266e1791330e0d3712a870abadb6207c643d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page