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.1
  • 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.1.tar.gz (42.4 kB view details)

Uploaded Source

Built Distribution

lib_not_dr-0.2.1-py3-none-any.whl (46.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lib-not-dr-0.2.1.tar.gz
  • Upload date:
  • Size: 42.4 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.1.tar.gz
Algorithm Hash digest
SHA256 2588a2432e72c9ee5b3b0dc2f90a5ae555cb5324953f5b59360b09c1d2ee573f
MD5 6cc76c5e69ec930b3c2727d73f7bd624
BLAKE2b-256 5dabf00fe4f3bad7695ab526f6330cbef5aa931bfbbf5a0973ede036bb00aa5b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lib_not_dr-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 46.4 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 24e1966d1723d7904ab7a1a37d6f1f8986f5f31c8b05a6b1b50071cfed97aa82
MD5 20178f2d2ca6ac88f47c4a333de74c9f
BLAKE2b-256 81be05ab8bbf8ef7d5844055aa6c2525ee86093ad6c636083132dcddc5a9c96f

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