semvec/pypi-packages huggingface dataset:
sithom 0.1.1
General utility scripts
License: MIT
Requires Python: >=3.8

# sithom README

[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)[![Code Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)[![Python package](https://github.com/sdat2/sithom/actions/workflows/python-package.yml/badge.svg)](https://github.com/sdat2/sithom/actions/workflows/python-package.yml)[![Documentation Status](https://readthedocs.org/projects/sithom/badge/?version=latest)](https://sithom.readthedocs.io/en/latest/?badge=latest)[![PyPI version](https://badge.fury.io/py/sithom.svg)](https://badge.fury.io/py/sithom)[![DOI](https://zenodo.org/badge/496635214.svg)](https://zenodo.org/badge/latestdoi/496635214)


## Description

A package for shared utility scripts that I use in my research projects.

I realised I was copying functionality from project to project. So instead, here it is.

## Install using pip

```txt
pip install sithom
```

## Install using conda

```txt
conda install -c conda-forge sithom
```

## Package structure

```txt

├── CHANGELOG.txt      <- List of main changes at each new package version.
├── CITATION.cff       <- File to allow you to easily cite this repository.
├── LICENSE            <- MIT Open software license.
├── Makefile           <- Makefile with commands.
├── pytest.ini         <- Enable doctest unit-tests.
├── README.md          <- The top-level README for developers using this project.
├── setup.py           <- Python setup file for pip install.
|
├── sithom             <- Package folder.
|   |
│   ├── __init__.py    <- Init file.
│   ├── _version.py    <- Key package information.
│   ├── curve.py       <- Curve fitting w. uncertainty propogation.
│   ├── io.py          <- Input output functions (json).
│   ├── misc.py        <- Miscellanious utilities.
│   ├── place.py       <- Place objects.
│   ├── plot.py        <- Plot utilties.
│   ├── time.py        <- Time utilties.
│   ├── unc.py         <- Uncertainties utilties.
│   └── xr.py          <- Xarray utilties.
|
└── tests              <- Test folder.

```

## Requirements

 - Python 3.8+
 - `matplotlib`
 - `seaborn`
 - `cmocean`
 - `xarray`
 - `uncertainties`
 - `jupyterthemes`
Navium 1.0
Navium is a Python-based automation library that leverages Chromium to control browser behavior, execute commands, and interact with web pages via WebSockets.
License: MIT
Keywords: browser, automation, selenium, playwright, chromium, scraping, crawling, web, testing, navium

<p align="center">
<img src="img/logo.png" style="width: 100px; height: 100px;"></img>
</p>

**Navium** is a high-performance browser automation library that leverages Chromium's DevTools Protocol (CDP) for direct communication, bypassing traditional WebDriver setups. This allows Navium to offer blazing fast speeds and lower overhead, making it ideal for developers and testers who need quick and efficient browser control. Navium was created to explore the inner workings of browser automation libraries like Playwright.

## Key Features
- **Chromium-based Automation**: Navium uses Chromium's native interface, removing the need for WebDrivers.
- **High-speed Execution**: With direct WebSocket connections to the browser, Navium delivers faster interactions than conventional WebDriver-based libraries.
- **Lightweight**: Minimal dependencies and direct browser control make Navium highly efficient.
- **Customizable**: Set up your browser instances with custom arguments and configurations to fit your needs.
- **Powerful Scripting**: Execute JavaScript directly in the browser context and retrieve results seamlessly.

## Status
**Navium** is currently under active development. Some features may still be in progress or experimental. Contributions, feedback, and bug reports are welcome!

## Getting Started
```python
from navium import Browser

with Browser() as worker:
    worker.goto("https://youtube.com/")
```

**Executing Scripts**
```python
from navium import Browser

with Browser() as worker:
    page = worker.goto("https://youtube.com/")
    js = page.execute_script("document.title")
    print(js)
```

[Examples](./examples/) contain more usage scenarios to explore.

## Contributing
We welcome contributions! Please feel free to submit issues or pull requests to help improve Navium.

### How to contribute:
- Fork the repository
- Create a new branch for your feature or bug fix
- Submit a pull request for review

## License
Navium is distributed under the [MIT License](LICENSE).