generated from PlexSheep/baserepo
Merge branch 'devel'
This commit is contained in:
commit
ceb8c98715
60
Cargo.toml
60
Cargo.toml
|
@ -2,22 +2,22 @@
|
|||
resolver = "2"
|
||||
members = [
|
||||
".",
|
||||
"members/pt-core",
|
||||
"members/pt-bintols",
|
||||
"members/pt-math",
|
||||
"members/pt-bin",
|
||||
"members/pt-log",
|
||||
"members/pt-net",
|
||||
"members/pt-py",
|
||||
"members/pt-hedu",
|
||||
"members/libpt-core",
|
||||
"members/libpt-bintols",
|
||||
"members/libpt-math",
|
||||
"members/libpt-bin",
|
||||
"members/libpt-log",
|
||||
"members/libpt-net",
|
||||
"members/libpt-py",
|
||||
"members/libpt-hedu",
|
||||
]
|
||||
default-members = [
|
||||
".",
|
||||
"members/pt-bin",
|
||||
"members/pt-core",
|
||||
"members/pt-py",
|
||||
"members/pt-log",
|
||||
"members/pt-math",
|
||||
"members/libpt-bin",
|
||||
"members/libpt-core",
|
||||
"members/libpt-py",
|
||||
"members/libpt-log",
|
||||
"members/libpt-math",
|
||||
]
|
||||
[workspace.package]
|
||||
publish = false
|
||||
|
@ -27,8 +27,8 @@ authors = ["Christoph J. Scherr <software@cscherr.de>"]
|
|||
license = "MIT"
|
||||
description = "Personal multitool"
|
||||
readme = "README.md"
|
||||
homepage = "https://git.cscherr.de/PlexSheep/pt"
|
||||
repository = "https://git.cscherr.de/PlexSheep/pt"
|
||||
homepage = "https://git.cscherr.de/PlexSheep/libpt"
|
||||
repository = "https://git.cscherr.de/PlexSheep/libpt"
|
||||
keywords = ["cli", "python", "scriptable", "pyo3", "library"]
|
||||
categories = ["command-line-utilities", "development-tools", "development-tools::ffi"]
|
||||
|
||||
|
@ -50,8 +50,17 @@ keywords.workspace = true
|
|||
categories.workspace = true
|
||||
|
||||
[features]
|
||||
default = ["core", "log"]
|
||||
core = []
|
||||
default = ["log"]
|
||||
all = [
|
||||
"default",
|
||||
"math",
|
||||
"log",
|
||||
"bintols",
|
||||
"net",
|
||||
"ccc",
|
||||
"hedu"
|
||||
]
|
||||
fw = []
|
||||
math = []
|
||||
log = []
|
||||
bintols = []
|
||||
|
@ -63,16 +72,17 @@ hedu = ["bintols"]
|
|||
name = "libpt"
|
||||
crate-type = [
|
||||
"dylib", # .dll, .so, .dynlib
|
||||
"staticlib" # .lib, .a
|
||||
"staticlib", # .lib, .a
|
||||
"rlib"
|
||||
]
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
pt-bintols = { version = "0.1.0", path = "members/pt-bintols" }
|
||||
pt-core = { version = "0.1.0", path = "members/pt-core" }
|
||||
pt-hedu = { version = "0.1.0", path = "members/pt-hedu" }
|
||||
pt-log = { version = "0.1.0", path = "members/pt-log" }
|
||||
pt-math = { version = "0.1.0", path = "members/pt-math" }
|
||||
pt-net = { version = "0.1.0", path = "members/pt-net" }
|
||||
pt-ccc = { version = "0.1.0", path = "members/pt-ccc" }
|
||||
libpt-bintols = { version = "0.1.7", path = "members/libpt-bintols" }
|
||||
libpt-core = { version = "0.1.7", path = "members/libpt-core" }
|
||||
libpt-hedu = { version = "0.1.7", path = "members/libpt-hedu" }
|
||||
libpt-log = { version = "0.1.7", path = "members/libpt-log" }
|
||||
libpt-math = { version = "0.1.7", path = "members/libpt-math" }
|
||||
libpt-net = { version = "0.1.7", path = "members/libpt-net" }
|
||||
libpt-ccc = { version = "0.1.7", path = "members/libpt-ccc" }
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
autobins = true
|
||||
name = "pt-bin"
|
||||
name = "libpt-bin"
|
||||
publish.workspace = true
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
|
@ -20,7 +20,7 @@ name = "ccc"
|
|||
path = "src/ccc/mod.rs"
|
||||
|
||||
[[bin]]
|
||||
name = "pt"
|
||||
name = "libpt"
|
||||
path = "src/main/mod.rs"
|
||||
|
||||
[dependencies]
|
|
@ -1,6 +1,6 @@
|
|||
//! # args module
|
||||
//!
|
||||
//! The args module of pt is used to parse commandline arguments. For this, it makes use of
|
||||
//! The args module of libpt is used to parse commandline arguments. For this, it makes use of
|
||||
//! [`clap`].
|
||||
|
||||
//// ATTRIBUTES ////////////////////////////////////////////////////////////////////////////////////
|
|
@ -1,4 +1,4 @@
|
|||
//! # Main executable of pt
|
||||
//! # Main executable of libpt
|
||||
//!
|
||||
//! This module contains all code specific to the executable version of [`pt`]: [`pt`](crate).
|
||||
//!
|
|
@ -1,5 +1,5 @@
|
|||
[package]
|
||||
name = "pt-bintols"
|
||||
name = "libpt-bintols"
|
||||
publish.workspace = true
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
|
@ -16,5 +16,5 @@ categories.workspace = true
|
|||
|
||||
[dependencies]
|
||||
num-traits = "0.2.16"
|
||||
pt-core = { version = "0.1.0", path = "../pt-core" }
|
||||
pt-log = { version = "0.1.0", path = "../pt-log" }
|
||||
libpt-core = { version = "0.1.0", path = "../libpt-core" }
|
||||
libpt-log = { version = "0.1.0", path = "../libpt-log" }
|
|
@ -22,6 +22,6 @@ pub const ZEBI: u128 = 2u128.pow(70);
|
|||
/// 2^80
|
||||
pub const YOBI: u128 = 2u128.pow(80);
|
||||
|
||||
// use pt_core;
|
||||
// use libpt_core;
|
||||
pub mod datalayout;
|
||||
pub mod display;
|
|
@ -1,4 +1,4 @@
|
|||
use pt_bintols::*;
|
||||
use libpt_bintols::*;
|
||||
|
||||
#[test]
|
||||
fn mkdmp() {
|
|
@ -1,5 +1,5 @@
|
|||
use pt_bintols::*;
|
||||
use pt_bintols::display::*;
|
||||
use libpt_bintols::*;
|
||||
use libpt_bintols::display::*;
|
||||
|
||||
#[test]
|
||||
fn btobin() {
|
|
@ -1,5 +1,5 @@
|
|||
[package]
|
||||
name = "pt-ccc"
|
||||
name = "libpt-ccc"
|
||||
publish.workspace = true
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
|
@ -17,6 +17,6 @@ categories.workspace = true
|
|||
[dependencies]
|
||||
num = "0.4.1"
|
||||
num-traits = "0.2.16"
|
||||
pt-core = { version = "0.1.7", path = "../pt-core" }
|
||||
pt-log = { version = "0.1.7", path = "../pt-log" }
|
||||
pt-math = { version = "0.1.7", path = "../pt-math" }
|
||||
libpt-core = { version = "0.1.7", path = "../libpt-core" }
|
||||
libpt-log = { version = "0.1.7", path = "../libpt-log" }
|
||||
libpt-math = { version = "0.1.7", path = "../libpt-math" }
|
|
@ -16,9 +16,9 @@ use std::fmt::Display;
|
|||
pub use num_traits::PrimInt;
|
||||
|
||||
#[allow(unused_imports)] // we possibly want to use all log levels
|
||||
use pt_log::*;
|
||||
use libpt_log::*;
|
||||
#[allow(unused_imports)] // import more complex math stuff from there
|
||||
use pt_math;
|
||||
use libpt_math;
|
||||
|
||||
//// TYPES /////////////////////////////////////////////////////////////////////////////////////////
|
||||
/// Quick Result with a ccc error
|
|
@ -25,9 +25,9 @@ pub mod term;
|
|||
pub use term::*;
|
||||
|
||||
#[allow(unused_imports)] // we possibly want to use all log levels
|
||||
use pt_log::*;
|
||||
use libpt_log::*;
|
||||
#[allow(unused_imports)] // import more complex math stuff from there
|
||||
use pt_math;
|
||||
use libpt_math;
|
||||
|
||||
//// TYPES /////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
@ -22,9 +22,9 @@ use std::collections::VecDeque;
|
|||
//// IMPORTS ///////////////////////////////////////////////////////////////////////////////////////
|
||||
pub use super::{Error, Result, Value, base::{self, *}};
|
||||
#[allow(unused_imports)] // we possibly want to use all log levels
|
||||
use pt_log::*;
|
||||
use libpt_log::*;
|
||||
#[allow(unused_imports)] // import more complex math stuff from there
|
||||
use pt_math;
|
||||
use libpt_math;
|
||||
|
||||
//// TYPES /////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
[package]
|
||||
name = "pt-core"
|
||||
name = "libpt-core"
|
||||
publish.workspace = true
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
|
@ -1,5 +1,5 @@
|
|||
[package]
|
||||
name = "pt-hedu"
|
||||
name = "libpt-hedu"
|
||||
publish.workspace = true
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
|
@ -1,5 +1,5 @@
|
|||
[package]
|
||||
name = "pt-log"
|
||||
name = "libpt-log"
|
||||
publish.workspace = true
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
|
@ -105,7 +105,7 @@ impl Logger {
|
|||
//
|
||||
// // if it's this lib, continue
|
||||
// filter |= metadata.target().contains(env!("CARGO_PKG_NAME"));
|
||||
// filter |= metadata.target().contains("pt");
|
||||
// filter |= metadata.target().contains("libpt");
|
||||
//
|
||||
// // if it's another crate, only show above debug
|
||||
// filter |= metadata.level() > &Level::DEBUG;
|
|
@ -1,5 +1,5 @@
|
|||
[package]
|
||||
name = "pt-math"
|
||||
name = "libpt-math"
|
||||
publish.workspace = true
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
|
@ -1,5 +1,5 @@
|
|||
[package]
|
||||
name = "pt-net"
|
||||
name = "libpt-net"
|
||||
publish.workspace = true
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
|
@ -16,9 +16,9 @@ categories.workspace = true
|
|||
|
||||
[dependencies]
|
||||
humantime = "2.1.0"
|
||||
pt-core = { version = "0.1.0", path = "../pt-core" }
|
||||
pt-log = { version = "0.1.0", path = "../pt-log" }
|
||||
pt-math = { version = "0.1.0", path = "../pt-math" }
|
||||
libpt-core = { version = "0.1.0", path = "../libpt-core" }
|
||||
libpt-log = { version = "0.1.0", path = "../libpt-log" }
|
||||
libpt-math = { version = "0.1.0", path = "../libpt-math" }
|
||||
reqwest = { version = "0.11.20", features = ["blocking"] }
|
||||
serde = { version = "1.0.188", features = ["serde_derive"] }
|
||||
serde_json = "1.0.107"
|
|
@ -19,7 +19,7 @@
|
|||
use std::{fmt, time::Duration};
|
||||
|
||||
//// IMPORTS ///////////////////////////////////////////////////////////////////////////////////////
|
||||
use pt_log::*;
|
||||
use libpt_log::*;
|
||||
|
||||
use reqwest;
|
||||
|
||||
|
@ -29,7 +29,7 @@ use std::time::SystemTime;
|
|||
use serde::{Deserialize, Serialize};
|
||||
use serde_json;
|
||||
|
||||
use pt_core::divider;
|
||||
use libpt_core::divider;
|
||||
|
||||
//// TYPES /////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
[package]
|
||||
name = "pt-py"
|
||||
name = "libpt-py"
|
||||
publish.workspace = true
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
|
@ -14,9 +14,9 @@ categories.workspace = true
|
|||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
[lib]
|
||||
name = "pt_py"
|
||||
name = "libpt_py"
|
||||
crate-type = ["cdylib"]
|
||||
|
||||
[dependencies]
|
||||
libpt = { version = "0.1.7", path = "../..", features = ["all"] }
|
||||
pyo3 = { workspace = true }
|
||||
libpt = { version = "0.1.7", path = "../../" }
|
|
@ -16,7 +16,7 @@ classifiers = [
|
|||
]
|
||||
|
||||
[project.urls]
|
||||
Homepage = "https://git.cscherr.de/PlexSheep/pt"
|
||||
Homepage = "https://git.cscherr.de/PlexSheep/libpt"
|
||||
|
||||
|
||||
[tool.maturin]
|
|
@ -0,0 +1,101 @@
|
|||
// FIXME: Using a local dependency does not work with maturin as it seems?
|
||||
use libpt::{
|
||||
log::*,
|
||||
};
|
||||
|
||||
use pyo3::prelude::*;
|
||||
|
||||
//// PUBLIC FUNCTIONS //////////////////////////////////////////////////////////////////////////////
|
||||
/// ## Check if [`libpt`](crate) has been loaded
|
||||
///
|
||||
/// Always returns `true` if you can execute it.
|
||||
#[pyfunction]
|
||||
pub fn is_loaded() -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
//// PRIVATE FUNCTIONS /////////////////////////////////////////////////////////////////////////////
|
||||
/// ## Python module: logger
|
||||
#[pymodule]
|
||||
fn py_logger(py: Python, parent: &PyModule) -> PyResult<()> {
|
||||
let module = PyModule::new(py, "logger")?;
|
||||
module.add_class::<Logger>()?;
|
||||
|
||||
parent.add_submodule(module)?;
|
||||
Ok(())
|
||||
}
|
||||
//
|
||||
// ////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// /// ## Python module: common
|
||||
// #[pymodule]
|
||||
// fn py_common(py: Python, parent: &PyModule) -> PyResult<()> {
|
||||
// let module = PyModule::new(py, "common")?;
|
||||
// py_common_printing(py, module)?;
|
||||
//
|
||||
// parent.add_submodule(module)?;
|
||||
// Ok(())
|
||||
// }
|
||||
//
|
||||
// ////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// /// ## Python module: common.printing
|
||||
// #[pymodule]
|
||||
// fn py_common_printing(py: Python, parent: &PyModule) -> PyResult<()> {
|
||||
// let module = PyModule::new(py, "printing")?;
|
||||
// module.add_function(wrap_pyfunction!(common::printing::divider, module)?)?;
|
||||
// module.add_function(wrap_pyfunction!(common::printing::print_divider, module)?)?;
|
||||
//
|
||||
// parent.add_submodule(module)?;
|
||||
// Ok(())
|
||||
// }
|
||||
//
|
||||
// ////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// /// ## Python module: networking
|
||||
// #[pymodule]
|
||||
// fn py_networking(py: Python, parent: &PyModule) -> PyResult<()> {
|
||||
// let module = PyModule::new(py, "networking")?;
|
||||
// py_networking_monitoring(py, module)?;
|
||||
//
|
||||
// parent.add_submodule(module)?;
|
||||
// Ok(())
|
||||
// }
|
||||
//
|
||||
// ////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// /// ## Python module: networking.monitoring
|
||||
// #[pymodule]
|
||||
// fn py_networking_monitoring(py: Python, parent: &PyModule) -> PyResult<()> {
|
||||
// let module = PyModule::new(py, "monitoring")?;
|
||||
// py_networking_monitoring_uptime(py, module)?;
|
||||
//
|
||||
// parent.add_submodule(module)?;
|
||||
// Ok(())
|
||||
// }
|
||||
//
|
||||
// ////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// /// ## Python module: networking.monitoring.uptime
|
||||
// #[pymodule]
|
||||
// fn py_networking_monitoring_uptime(py: Python, parent: &PyModule) -> PyResult<()> {
|
||||
// let module = PyModule::new(py, "uptime")?;
|
||||
// module.add_class::<networking::monitoring::uptime::UptimeStatus>()?;
|
||||
// module.add_function(wrap_pyfunction!(
|
||||
// networking::monitoring::uptime::py_continuous_uptime_monitor,
|
||||
// module
|
||||
// )?)?;
|
||||
//
|
||||
// parent.add_submodule(module)?;
|
||||
// Ok(())
|
||||
// }
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/// ## Python module: root
|
||||
///
|
||||
/// This function is the entry point of [`PyO3`](pyo3). This is where the main module is built.
|
||||
#[pymodule]
|
||||
fn _libpt(py: Python, m: &PyModule) -> PyResult<()> {
|
||||
m.add_function(wrap_pyfunction!(is_loaded, m)?)?;
|
||||
|
||||
// load sub modules
|
||||
// py_common(py, m)?;
|
||||
py_logger(py, m)?;
|
||||
// py_networking(py, m)?;
|
||||
Ok(())
|
||||
}
|
14
src/lib.rs
14
src/lib.rs
|
@ -7,16 +7,16 @@
|
|||
//! "main crate". Most crates will only show up if you activate their feature.
|
||||
|
||||
#[cfg(feature = "core")]
|
||||
pub use pt_core as core;
|
||||
pub use libpt_core as core;
|
||||
#[cfg(feature = "bintols")]
|
||||
pub use pt_bintols as bintols;
|
||||
pub use libpt_bintols as bintols;
|
||||
#[cfg(feature = "hedu")]
|
||||
pub use pt_hedu as hedu;
|
||||
pub use libpt_hedu as hedu;
|
||||
#[cfg(feature = "log")]
|
||||
pub use pt_log as log;
|
||||
pub use libpt_log as log;
|
||||
#[cfg(feature = "math")]
|
||||
pub use pt_math as math;
|
||||
pub use libpt_math as math;
|
||||
#[cfg(feature = "net")]
|
||||
pub use pt_net as net;
|
||||
pub use libpt_net as net;
|
||||
#[cfg(feature = "ccc")]
|
||||
pub use pt_ccc as ccc;
|
||||
pub use libpt_ccc as ccc;
|
||||
|
|
Reference in New Issue