A tool to package LaTeX sources for journal submission, forked from arxiv-collector. Adds LuaTeX/XeLaTeX support and a flatten option.
Project description
UploadAssist is a modern fork of arxiv-collector, designed to help researchers and authors package their LaTeX sources for submission to journals and repositories. This project builds on the original arxiv-collector, adding support for contemporary workflows and requirements.
About This Fork
UploadAssist began as a fork of the abandoned arxiv-collector tool. While the original focused on preparing submissions for arXiv, UploadAssist expands its capabilities to support a wider range of journal and repository requirements.
Key improvements over arxiv-collector:
- LuaTeX and XeLaTeX support: Works seamlessly with projects that use LuaTeX or XeLaTeX, in addition to standard pdfLaTeX.
- Flatten by default: UploadAssist now flattens your project structure by default, placing all files in a single directory and updating all referenced paths—essential for journals that require flat submissions. Use
--noflattento preserve the original directory structure. - Retains and improves all original features, including comment stripping and dependency tracking.
If you are looking for the original package, see arxiv-collector on GitHub.
Features
- Automatic packaging: Collects all files needed for your LaTeX project, including images, bibliographies, and custom packages.
- Comment stripping: Removes potentially embarrassing comments from
.texfiles (disable with--no-strip-comments). - Smart dependency tracking: Only includes files actually used in your project.
- LuaTeX/XeLaTeX support: Handles modern TeX engines and their dependencies.
- Flattening: By default, all files (including those referenced via
\input,\include, and\includegraphics) are placed in a single directory, and all LaTeX source paths are updated accordingly. Use--noflattento disable this behavior. - System package inclusion: Optionally includes system packages or directories you specify.
Installation
UploadAssist is a stand-alone Python script with no dependencies. You can:
- Download
uploadassist.pydirectly. - (Coming soon) Install via PyPI:
pip install uploadassist
Works with any reasonable version of Python 3.
Usage
From your project's main directory, run:
uploadassist
Or specify your main .tex file if needed:
uploadassist main.tex
For help and options:
uploadassist --help
By default, UploadAssist flattens your project for journal submission. To preserve the original directory structure, use:
uploadassist --noflatten
Requirements
- A working installation of
latexmkon your PATH.- If
latexmkis not on your PATH, use--latexmk ./path/to/latexmk. - Note:
latexmkversion 4.63b has broken dependency tracking. Please use a newer version.
- If
Caveats
- Unusual project layouts may require manual adjustment; always check your output before submission.
- All referenced files (including those in subdirectories) are collected and placed at the top level when flattening, and all LaTeX source paths are rewritten to match.
- Absolute paths in commands like
\includegraphics{/home/me/image.png}may not be handled as expected. Prefer relative paths or use--include-packagesto specify additional directories. - If you encounter issues, please open an issue and include a copy of your problematic project if possible.
Using on Overleaf
You can configure Overleaf to run UploadAssist on each compilation, ensuring your project is always ready for submission. The process is similar to the original arxiv-collector—see their documentation for details.
UploadAssist is not affiliated with arXiv or any journal. This project is maintained independently and welcomes contributions.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file uploadassist-0.0.1.dev1.tar.gz.
File metadata
- Download URL: uploadassist-0.0.1.dev1.tar.gz
- Upload date:
- Size: 38.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
134a1b88bd5476dba73354dac193917bd1bbe7705512f6c0a134e4c268020668
|
|
| MD5 |
55a43d9077ba28713000fe31e5b2a0ea
|
|
| BLAKE2b-256 |
f22712325fd27e1cbaff48614a5d8ddfeefdf54f6fac84e90db8d38878a35cd9
|
Provenance
The following attestation bundles were made for uploadassist-0.0.1.dev1.tar.gz:
Publisher:
publish.yml on cvanelteren/UploadAssist
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
uploadassist-0.0.1.dev1.tar.gz -
Subject digest:
134a1b88bd5476dba73354dac193917bd1bbe7705512f6c0a134e4c268020668 - Sigstore transparency entry: 582773810
- Sigstore integration time:
-
Permalink:
cvanelteren/UploadAssist@f2e453aefdbd0b75c29981886afee2f85ad9c389 -
Branch / Tag:
refs/tags/0.0.1.dev1 - Owner: https://github.com/cvanelteren
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f2e453aefdbd0b75c29981886afee2f85ad9c389 -
Trigger Event:
release
-
Statement type:
File details
Details for the file uploadassist-0.0.1.dev1-py3-none-any.whl.
File metadata
- Download URL: uploadassist-0.0.1.dev1-py3-none-any.whl
- Upload date:
- Size: 16.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0246fe8ee2b25baf9772009b7e3b6056f649342195aa29187aad3f13c963824d
|
|
| MD5 |
0bc56c8284d0eb31a1755e56d6973d0f
|
|
| BLAKE2b-256 |
525f8630f62a84416dbee7e8f2d2365ec5ddc6a0b1a789ed314e39ec25d9b9db
|
Provenance
The following attestation bundles were made for uploadassist-0.0.1.dev1-py3-none-any.whl:
Publisher:
publish.yml on cvanelteren/UploadAssist
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
uploadassist-0.0.1.dev1-py3-none-any.whl -
Subject digest:
0246fe8ee2b25baf9772009b7e3b6056f649342195aa29187aad3f13c963824d - Sigstore transparency entry: 582773823
- Sigstore integration time:
-
Permalink:
cvanelteren/UploadAssist@f2e453aefdbd0b75c29981886afee2f85ad9c389 -
Branch / Tag:
refs/tags/0.0.1.dev1 - Owner: https://github.com/cvanelteren
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f2e453aefdbd0b75c29981886afee2f85ad9c389 -
Trigger Event:
release
-
Statement type: