Custom data attachments
Upload private data for a new custom submission, read it from code, and manage its lifecycle.
Custom data attachments are available when preparing a new custom code submission. They are not a general upload facility for existing submissions or results. A custom Edit form creates a new child submission and requires selecting files again. Quick submissions do not support this attachment manager; their existing problem-specific dataset upload fields are separate. Do not assume a Quick upload or a code-file upload is a custom data attachment.
Select files¶
Open Attachments 0 near the new-submission title. The count button opens a modal rather than listing every file on the main form. Choose files, review their names and sizes, and remove selections you do not need.
| Limit | Current value |
|---|---|
| Files per submission | 2 |
| Size per file | 5 MiB |
| Total stored data per account | 100 MiB, including attachments in Trash |
| Formats | CSV, TSV, JSON, TXT |
| Encoding | UTF-8 |
Empty files, binary data, unsupported extensions, and invalid JSON are rejected. CSV/TSV text still needs the columns and structure your code expects. Archives, executables, spreadsheets such as XLSX, and arbitrary file types are not accepted through this feature.
Use the displayed filename¶
The modal shows the exact filename available in the execution environment. Spaces and unsafe characters become underscores. Names are normalized, and case-insensitive collisions get a numeric suffix. My data.csv becomes My_data.csv; a second matching name gets a suffix such as _2. Check the displayed names after changing your selection.
import pandas
def fitness_func(ga_instance, solution, solution_idx):
data = pandas.read_csv('My_data.csv')
target = data['target'].to_numpy()
return 1.0 / (1.0 + abs(solution[0] - target.mean()))
Fitness functions and callbacks can read the same attached files by name. Files are mounted read-only for that submission. Use /tmp for temporary output. File access does not grant access to another user's attachments, host files, or network services. Repeated reads in every fitness call can be expensive; design data loading carefully for your workload.
Upload, drafts, and later runs¶
Files upload with Submit, not when you open or close the modal. They remain selected in the same browser page until changed, submitted, or lost by leaving/refreshing. A draft saves the form but not file contents; reselect files when reopening it.
On the owner submission page, Attachments lists associated filenames and allows removal once a pending/running job finishes or is cancelled. There is no add/replace action for that existing submission and no attachment-download endpoint. Keep your original files locally. Removing an attachment cannot be undone through Trash; it affects future runs that need the file, but does not erase already recorded results.
Re-executing or continuing your own submission copies its current attachments to the new submission and checks your storage quota again. Editing opens a new form and requires reselecting files. Moving a submission to Trash retains its attachments and quota usage; restoring brings them back. Permanent deletion removes the stored attachments with the submission.
Sharing and privacy¶
Attachments remain private even if the submission or result is public or invite-only. Other users cannot copy the private files by forking a run; cross-account reruns/continuations with private attachments are blocked. Code, charts, logs, or results may contain information derived from your data, so review shared output separately. LEGA does not receive attachment contents.