Skip to main content

For lazy python users (monogusa people in Japanese), especially in ML/DSP fields

Project description

scitex (monogusa; meaning lazy person in Japanese)

A comprehensive Python framework for scientific computing, machine learning, and data analysis.

PyPI version Python Versions License Tests Coverage Documentation Code Style Pre-commit

✨ Features

  • 🧪 100% Test Coverage: Comprehensive test suite ensuring reliability
  • 📚 Fully Documented: Complete API documentation with examples
  • 🔧 Multi-Domain: Scientific computing, ML, signal processing, and more
  • 🐍 Type Safe: Full type hints for better IDE support
  • ⚡ Performance: Optimized implementations with GPU support
  • 🔄 Interoperable: Seamless numpy/torch/pandas integration

📦 Installation

# From PyPI (stable)
pip install scitex

# From GitHub (latest)
pip install git+https://github.com/ywatanabe1989/SciTeX-Code.git@main

# Development installation
git clone https://github.com/ywatanabe1989/SciTeX-Code.git
cd SciTeX-Code
pip install -e ".[dev]"

Submodules

Category Submodule Description
Fundamentals scitex.gen General utilities
scitex.io Input/Output operations
scitex.utils General utilities
scitex.dict Dictionary utilities
scitex.str String manipulation
scitex.torch PyTorch utilities
Data Science scitex.plt Plotting with automatic tracking
scitex.stats Statistical analysis
scitex.pd Pandas utilities
scitex.tex LaTeX utilities
AI: ML/PR scitex.ai AI and Machine Learning
scitex.nn Neural Networks
scitex.torch PyTorch utilities
scitex.db Database operations
scitex.linalg Linear algebra
Signal Processing scitex.dsp Digital Signal Processing
Statistics scitex.stats Statistical analysis tools
ETC scitex.decorators Function decorators
scitex.gists Code snippets
scitex.resource Resource management
scitex.web Web-related functions

🚀 Quick Start

import scitex

# Start an experiment with automatic logging
config, info = scitex.gen.start(sys, sdir="./experiments")

# Load and process data
data = scitex.io.load("data.csv")
processed = scitex.pd.force_df(data)

# Signal processing
signal, time, fs = scitex.dsp.demo_sig(sig_type="chirp")
filtered = scitex.dsp.filt.bandpass(signal, fs, bands=[[10, 50]])

# Machine learning workflow
reporter = scitex.ai.ClassificationReporter()
metrics = reporter.evaluate(y_true, y_pred)

# Visualization
fig, ax = scitex.plt.subplots()
ax.plot(time, signal[0, 0, :])
scitex.io.save(fig, "signal_plot.png")

# Close experiment
scitex.gen.close(config, info)

📖 Documentation

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

# Clone and install
git clone https://github.com/ywatanabe1989/SciTeX-Code.git
cd SciTeX-Code
make install

# Run tests
make test

# Format code
make format

📊 Project Status

  • Test Coverage: 100% (118/118 tests passing)
  • Documentation: Complete for all modules
  • CI/CD: Automated testing, linting, and releases
  • Python Support: 3.8, 3.9, 3.10, 3.11

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

📧 Contact

Yusuke Watanabe (ywatanabe@alumni.u-tokyo.ac.jp)

🙏 Acknowledgments

Special thanks to all contributors and the open-source community for making this project possible.

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

scitex-2.0.0.tar.gz (503.3 kB view details)

Uploaded Source

Built Distribution

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

scitex-2.0.0-py2.py3-none-any.whl (759.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file scitex-2.0.0.tar.gz.

File metadata

  • Download URL: scitex-2.0.0.tar.gz
  • Upload date:
  • Size: 503.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.18

File hashes

Hashes for scitex-2.0.0.tar.gz
Algorithm Hash digest
SHA256 f75840fa4bc36e3a807ac4ae3fca357928905742ffd9679a033aeedce3bba617
MD5 e32b474c9ed721d0d987108abe354b97
BLAKE2b-256 06e8fd38cad567236cda4c1d0102a1de088890b215f7cd210bf3e142191ddbe7

See more details on using hashes here.

File details

Details for the file scitex-2.0.0-py2.py3-none-any.whl.

File metadata

  • Download URL: scitex-2.0.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 759.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.18

File hashes

Hashes for scitex-2.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 0abaa2a40dca39cabe08a6dfde2c838ce45757c1ac4beccae248dc22746b3be3
MD5 fa02396ca0e9de84c0a573b10e4c69f7
BLAKE2b-256 34e3e0e6a0382db390fe3c1c0dd6b8c9f289ab2f1dd8a02168164a193c478273

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