Open licensing
All code and datasets must use recognized open-source or open-data licenses. The most restrictive license we accept allows non-commercial use only (e.g. CC BY-NC 4.0).
We are excited that you want to contribute to Lovelace’s Square! 🥳 Please read the following information carefully. It will guide you through everything you need to know to prepare and submit your work. We’ve made the process as smooth as possible, and we’re here to support you at every step.
At Lovelace’s Square, we strongly encourage all contributions to follow these essential requirements, to ensure quality, clarity, and reproducibility for the entire community.
Open licensing
All code and datasets must use recognized open-source or open-data licenses. The most restrictive license we accept allows non-commercial use only (e.g. CC BY-NC 4.0).
Clear documentation
Every contribution needs proper documentation explaining what it does, how to use it, and any requirements or dependencies.
Data privacy
Ensure your datasets are clean and free of sensitive information. Remove any personal identifiers or private data before submission.
Legal rights
You must have the rights to share everything in your submission. Get permission from co-authors if needed and ensure license compatibility.
We welcome all kinds of content related to chemometrics. If it helps others explore, clean, model, explain, or teach chemical data, it belongs in The Square. You can contribute many different things such as:
Category | Description |
---|---|
Algorithms and models | For dimensionality reduction, regression, classification, clustering, calibration, variable selection, etc. |
Preprocessing techniques | Such as baseline correction, smoothing, normalization, centering, scaling, or signal alignment among others. |
Visualization tools | For plotting spectra, score plots, loadings, heatmaps, or interactive displays. |
Exploratory tools | To help reveal patterns, trends, or groupings in complex data. |
Validation and evaluation tools | Like cross-validation scripts, residual analysis, performance metrics, or model comparison. |
Helper functions and utilities | For data cleaning, transformation, formatting, or organizing workflows. |
Teaching and learning resources | Examples, templates, notebooks, or small demos to support study and training. |
Code can be in any programming language: Python, R, MATLAB, C++, or others.
To help make your contribution useful and reusable for others, we recommend following a few simple coding practices. These steps will improve clarity, avoid system-specific issues, and make it easier for users to test, adapt, and build upon your work.
Structure your code clearly: Break your code into functions or classes instead of writing everything in one long script. This makes your code easier to read, test, and reuse. A well-structured script also helps others understand what each part does and where to make changes if needed.
Avoid hard-coding: Don’t write file paths, parameter values, or system-specific settings directly into the code. Instead, let users input their own data and options through arguments, configuration files, or prompts. This allows your code to run correctly on different computers and with different datasets.
Include examples: Add sample data, demo files, or ready-to-run scripts that show how your code works in practice. Providing a typical use case with default settings makes it much easier for others to get started and understand how your method can be applied.
List requirements: Make a clear list of all external libraries, packages, or toolboxes your code depends on. This could be a requirements.txt
file or a README
section. Listing dependencies ensures users can set up their environment without guessing or running into errors.
When you upload your code to The Square, you will need to fill out two description boxes. This information helps others understand and use your work, and it also supports our review and indexing process.
Short Description: Write a concise line summarizing what your code does. Keep it brief for easy analysis by our system.
Example:
EMSC algorithm for correcting multiplicative/additive effects in spectral data.
Extended Description: This is where you explain your code in more detail. Try to include:
Example:
The EMSC (Extended Multiplicative Signal Correction) function corrects spectral data by removing multiplicative scaling, additive offsets, and baseline variations. It fits a reference spectrum (e.g., mean/median) to each input spectrum using a polynomial baseline model, estimating scaling (a), offset (b), and baseline coefficients.
We know the extended description field can feel a bit restrictive in terms of space. This limit is intentional; it helps Ada, our artificial intelligence agent, work more efficiently when guiding users. We truly appreciate the effort you make to squeeze your explanation into a compact but meaningful format.
Your code should be uploaded as a ZIP file containing:
Example Structure:
We welcome any dataset related to the data-analysis field that can benefit the community; useful for benchmarking, teaching, testing, or research purposes.
Category | Description |
---|---|
Teaching | Collections designed to illustrate core analysis concepts in lectures or workshops |
Validation | Datasets for checking and validating new algorithms or workflows |
Benchmarking | Standardized sets used to compare performance across multiple methods |
Tutorial Examples | Small, focused datasets for step-by-step walkthroughs and teaching materials |
Performance Evaluation | Real-world or synthetic data aimed at stress-testing scalability, speed, robustness… |
Simulation Data | Synthetic or modeled data for exploring hypothetical scenarios or method behavior |
Domain-Specific Collections | Datasets related to specific fields (e.g., environmental sensors, bioinformatics, process control) |
Educational Challenges | Competition datasets designed to engage students in solving specific problems |
Before sharing your dataset on The Square, please prepare it carefully so others can immediately understand and use it.
Clean format
Organize your data with clear, consistent column headers and remove errors or corrupt entries. CSV is preferred for maximum compatibility.
Rich metadata
Provide a data dictionary: describe how measurements were taken, what each variable means, units, timestamps, and any preprocessing steps applied.
Privacy protection
Strip out any personal or confidential information. Anonymize sample IDs and ensure compliance with relevant data-protection regulations.
To ensure long-term accessibility, it is strongly recommended to supply a public download link hosted on a stable service. Recommended platforms include:
Visit the submission page
Go to Lovelace’s Square and navigate to “The Square” section. Choose either:
Fill in contributor details
Provide title and descriptions
Specify technical details
Upload and submit
📋 Team Review
Our team verifies your submission is complete, appropriate, and clearly documented. We check for prohibited content and ensure files work correctly.
💬 Possible Feedback
If we find issues or need clarification, we’ll contact you at your provided email. Common requests include missing files, unclear descriptions, or license questions.
✅ Publication
Once approved, your contribution becomes publicly visible in The Square with your name, description, and download links clearly displayed.
🔄 Updates Welcome
You can submit updated versions in the future. We support versioning to keep contributions current and useful.
By contributing to Lovelace’s Square, you are:
Thank you for considering contributing to Lovelace’s Square. We look forward to seeing your algorithms and datasets become part of this growing library of chemometric resources. Together, we push the boundaries of open science in chemometrics.
Happy contributing! 🚀