semvec/pypi-packages huggingface dataset:
elsevier-latex-preparation 0.2.1
Merge LaTeX files and resources for Elsevier Editorial Manager submission
License: MIT
Requires Python: >=3.7

# LaTeX File Merger and Resource Copier for Elsevier Submission ✨📄

This Python tool processes a main LaTeX file and its included resources, 
preparing it for submission to **Elsevier Editorial Manager**. 
Elsevier requires manuscripts to be uploaded as a **single `.tex` file** 
with all references (images, bibliography files, etc.) in a **single folder** 
without subfolders. 🚫🗂

This script merges all `\input` and `\include` commands into the main LaTeX file 
and copies all referenced files into a flat destination folder. 🗂️️

## Features 🌟
- Resolves `\input` and `\include` commands recursively 🔄  
- Copies all referenced resources (images 🖼️, bibliography files 📚, and others) into a single folder  
- Updates LaTeX file paths to point to the new flat folder 🛣️  
- Ignores commands that do not reference external files 🚫  
- Optional callbacks for progress ⏱️ and file counters 🔢  
- **Tkinter GUI interface** with:  
  - File selection dialogs 📂  
  - Progress bar 📊  
  - Counters for images, bibliography, and other files  
  - Clickable counters that open a window showing copied files 👀  
- Designed to produce a folder ready for **Elsevier Editorial Manager** ✅

## Installation ️
Can be installed via pip:

```bash 
pip install elsevier-latex-preparation
```

## Usage (GUI) 🖱️

Run the GUI:

```python
from elsevier_latex_preparation import run_gui

run_gui()
```

## Usage (Programmatic) 💻

```python
from elsevier_latex_preparation import merge_latex_and_move_ref

# Path to the main LaTeX file
main_file = "path/to/main.tex"

# Destination folder where the single-file LaTeX package will be created
destination_folder = "path/to/destination"

# Optional callbacks for progress and file tracking
def progress_callback(percent):
    print(f"Progress: {percent:.2f}% ⏳")

def files_counter(files_list):
    print(f"Copied files: {len(files_list)} 📂")
    
def merger_callback(merged_list):
    print(f"Merged files: {len(merged_list)} 📂")

# Merge LaTeX file and copy resources
merge_latex_and_move_ref(
    main_file,
    destination_folder,
    progress_callback=progress_callback,
    files_copied_counter_callback=files_counter,
    merge_tracker_callback=merger_callback
)
```
ease-tts 3.1.0
Lightweight Python module for converting text into natural-sounding speech on Windows, macOS and Linux.
License: MIT
Requires Python: >=3.7

# Python TTS  

Ease-TTS is a simple and lightweight Python module for converting text into speech. It supports playback on Windows, macOS, and Linux. Easy to install and beginner-friendly, it is ideal for accessibility, automation, learning projects, or adding natural voice output to applications.

## Prerequisites  

- Python 3.9+  
- An audio player:  
  - **Windows** → Uses default media player  
  - **macOS** → Uses `afplay`  
  - **Linux** → Requires `mpg123` (`sudo apt install mpg123`)  

## Setup  

You can clone the repo and install dependencies in one go:  

```bash
git clone https://github.com/Madhav703/ease-tts.git
cd ease-tts
pip install -r requirements.txt
```

Or install directly from PyPI:  

```bash
pip install ease-tts
```

## Usage  

```python
from ease_tts import TTS

m = TTS()
m.play("Hello World")
```

This will generate speech and play **Hello World** on your system.  

## Notes  

- Requires an active internet connection (gTTS sends text to Google Translate TTS).  
- On Linux, ensure `mpg123` is installed for playback (system usage).  
- For Discord usage, ensure you have **FFmpeg** installed and available in PATH.  
- Temporary files are automatically cleaned up after playback.  

## Troubleshooting  

- `gtts.tts.gTTSError` → check your internet connection.  
- `FileNotFoundError: [Errno 2] No such file or directory: 'mpg123'` → install `mpg123` on Linux.  
- `ffmpeg not found` → install FFmpeg for Discord voice support.  
- Audio not playing on Windows (system usage) → check if your system has a default MP3 player set.  

## Contributing  

- Fork this repository and make your changes.  
- Test the module to ensure everything works.  
- Submit a pull request with a clear description.  

## License  

- This project is licensed under the MIT License – see the LICENSE file for details.  

## Facing any Issues?  

- You can open an issue on the [GitHub](https://github.com/Madhav703/ease-tts/issues) repo.
pyEager 1.6.1
A simple package to read in eager results.
License: MIT
Requires Python: >=3.6
Keywords: python, pandas, nf-core, eager, nf-core/eager, ancient DNA

# pyEager

A simple package to read in eager results.

## Available functions

- `compile_endogenous_table()`: Creates a compiled table of endogenous DNA statistics from endorspy including all the information in the list of JSON file paths provided. Wraps `parse_endorspy_json` on all provided JSON paths.
  - `parse_endorspy_json()`: Read in the information in a single endorspy JSON file.
- `compile_damage_table()`: Creates a compiled table of select DamageProfiler and mapDamage2 results from the list of DamageProfiler JSON files and/or mapDamage2 result directories provided. Ths resulting dataframe includes the number of reads analysed as well as the damage in the first 2 bp of either end of DNA molecules for each sample.
  - `collect_damageprofiler_results()`: Collects the results from multiple damageprofiler JSON output files into a large dictionary containing all the results for each sample. This function wraps `parse_damageprofiler_json` across all provided JSON files.
    - `parse_damageprofiler_json()`: Read in the information in a single damageprofiler JSON output file.
  - `collect_mapdamage_results()`: Collects the results from multiple mapDamage2 result directories into a large dictionary containing all the results for each sample. This function wraps `parse_mapdamage_results` across all provided result directories.
    - `parse_mapdamage_results()`: Read in the information in a single mapDamage2 results directory.
      An additional parameter `standardise_colnames` can be used to standardise the column names of the resulting dataframe to match those generated by `parse_damageprofiler_json`.
- `compile_snp_coverage_table()`: Creates a compiled table of SNP coverage results from the list of JSON files provided. Wraps `parse_snp_coverage_json` across all provided JSON files
  - `parse_snp_coverage_json()`: Read in the information in a single SNP coverage JSON file.
- `parse_sexdeterrmine_json()`: Reads in the Sexdeterrmine output JSON into a dataframe.
- `parse_nuclear_contamination_json()`: Reads in the nuclear contamination output JSON into a dataframe.
- `parse_eager_tsv()`: Reads in the eager input TSV into a dataframe, with additional columns specifying what merging steps took place.
- `infer_merged_bam_names()`: Infer the names of eager output files based on the merging steps that took place.
- `parse_general_stats_table()`: Reads in the general stats table output of MultiQC into a dataframe.

## Installation

<!-- TODO Add installation instructions -->

## Usage

<!-- TODO Add usage examples -->

## License

[MIT](LICENSE.txt)