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.3.0-rc.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

发布计划 / Release Plan

文档/Docs

使用/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.cli]
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.3.0rc1.tar.gz (44.3 kB view details)

Uploaded Source

Built Distribution

lib_not_dr-0.3.0rc1-py3-none-any.whl (48.5 kB view details)

Uploaded Python 3

File details

Details for the file lib-not-dr-0.3.0rc1.tar.gz.

File metadata

  • Download URL: lib-not-dr-0.3.0rc1.tar.gz
  • Upload date:
  • Size: 44.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.3.0rc1.tar.gz
Algorithm Hash digest
SHA256 ab15032efd31bf9c8a8c4bde5816d3943b566f5a636824021666629e5c0fed8b
MD5 0fd7c814dff57a6898eef49a055654e2
BLAKE2b-256 6c0017183f7edd4f74eb700650c0c0b1e53d24226da8e41b45654ef5be8218ad

See more details on using hashes here.

File details

Details for the file lib_not_dr-0.3.0rc1-py3-none-any.whl.

File metadata

File hashes

Hashes for lib_not_dr-0.3.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 e8b07ba6a94c33dc6a98a6483721d77a4114514a49a71592da1d60ac1b47f619
MD5 89c280943a006db17493ff7fda0e6a3e
BLAKE2b-256 0cde42f0b4ba63a8f5b47ea8490d00ee618b699fe1e0ccb71539a9424670699a

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