Skip to main content

A python lib created from Difficult Rocket development

Project description

lib-not-dr

A python lib came from Difficult Rocket development

一个在 Difficult Rocket 开发中 分离出来的 python 库

Information/信息

  • Version / 版本: 0.2.2
  • Author / 作者: shenjackyuanjie 3695888@qq.com

shenjackyuanjie

更新日志|Change Log

License/许可证

MPL-2.0

安装/Install

pip install lib-not-dr
pip install lib-not-dr[nuitka]
# install with nuitka support

使用/Usage

Logger

WIP 等待 0.3.0

from lib_not_dr.logger.logger import Logger

logger = Logger.get_logger_by_name("test")

logger.fine('Hello World!')
logger.debug('Hello World!')
logger.trace('Hello tracing!')
logger.info('Hello World!')  # info!
logger.warn('warnnnnnnn')
logger.error('Hello World!')
logger.fatal('good bye world')

# tag
logger.info('this message if from tag', tag='test')
logger.debug('this debug log if from admin', tag='admin')

# end
logger.debug('and this message ends with none', end=' ')
logger.trace('so this message will be in the same line', tag='same line!')

Nuitka pyproject paser

pyproject.toml 内的配置 Config in pyproject.toml

[tool.lndl.nuitka]
main = "main.py"
# --main=main.py
standalone = true
onefile = false

通过 lndl_nuitka 命令行工具使用 Use with lndl_nuitka command line tool

lndl_nuitka .
lndl_nuitka . -- --onefile
# add --onefile to nuitka
lndl_nuitka . -y
# run without confirmation
lndl_nuitka . -n
# do not run

通过 lib_not_dr.nuitka.reader 模块使用 Use with lib_not_dr.nuitka.reader

from tomli import loads
from lib_not_dr.nuitka.reader import main, run_nuitka

pyproject_toml = loads(open("pyproject.toml", "r").read())
nuitka_config = pyproject_toml["tool"]["lndl"]["nuitka"]
nuitka_config["product_version"] = "0.1.0"
command = main(nuitka_config)
run_nuitka(command)

Nuitka Compiler Helper

Warning/警告

::: warning

已经弃用 Deprecated 请改用 lndl_nuitka / python -m lndl_nuitka

:::

simple example 简单示例

import subprocess
from pathlib import Path
from lib_not_dr.nuitka.compile import CompilerHelper

compiler = CompilerHelper(src_file = Path("main.py"))

print(compiler)
subprocess.run(compiler.gen_subprocess_cmd())

more complex example 复杂示例

import sys
import subprocess
from pathlib import Path
from lib_not_dr.nuitka.compile import CompilerHelper

compiler = CompilerHelper(src_file = Path("main.py"), run_after_build=True)

print(compiler)

if '-y' in sys.argv or '--yes' in sys.argv:
    do_run = True
elif '-n' in sys.argv or '--no' in sys.argv:
    do_run = False
else: # do_run is None
    while (do_run := input("compile? [y/n]").lower()) not in ["y", "n", "yes", "no"]:
        pass
        # 获取用户输入是否编译
        # get user confirmation to compile or not
    do_run = True if do_run[0] == "y" else False

if do_run:
    subprocess.run(compiler.gen_subprocess_cmd())

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

lib-not-dr-0.2.2.tar.gz (43.3 kB view details)

Uploaded Source

Built Distribution

lib_not_dr-0.2.2-py3-none-any.whl (47.5 kB view details)

Uploaded Python 3

File details

Details for the file lib-not-dr-0.2.2.tar.gz.

File metadata

  • Download URL: lib-not-dr-0.2.2.tar.gz
  • Upload date:
  • Size: 43.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.10.4 CPython/3.8.18+

File hashes

Hashes for lib-not-dr-0.2.2.tar.gz
Algorithm Hash digest
SHA256 4a0975964a2245edd04c4a6b440db0764d83472b497dabb572c49aa7832dd184
MD5 0ea34931d122a0edfce9bfd680d403f8
BLAKE2b-256 88497ea425d9c1ce4fea8cb4ca4ba38fac68eb20b0429f4499e428a5e2babc6a

See more details on using hashes here.

File details

Details for the file lib_not_dr-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: lib_not_dr-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 47.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.10.4 CPython/3.8.18+

File hashes

Hashes for lib_not_dr-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 358af42cb28eb5a6e33f60365dd95aa598750bb7fcb3a756aec9f6a613b3ff3f
MD5 0329fd3802a440c39a7187d60ece973d
BLAKE2b-256 325f7a26575b89bbb0ec5f1c21f4e8d1e9ca02c7663c971b330fee41f09add16

See more details on using hashes here.

Supported by

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