A package for opening, editing, and saving Files of Synthesis (*.fos)
Project description
FoSpy
A package for opening, editing, and saving Files of Synthesis (*.fos)
- Main Github
- GUI Proof of Concept
- FOS syntax for the GUI alpha is an earlier iteration and may not be in use.
Code Example
# load synthesis and templates from files
my_synthesis = Synthesis.fromFile(r"example/synthesis.fos")
my_templates = TemplateSet.fromFile(r"example/templates.fos")
# change some metadata for my synthesis
my_synthesis.metadata.name = "TE002"
my_synthesis.metadata.date = "05-17-2026"
my_synthesis.metadata.internal_project_ID = "Arsenide 28+d clathrates"
my_synthesis.reaction.nominal_formula = "Ba8Cu13Zn11As28.5"
# load a template and fill it in before adding to synthesis
arsenic_template = my_templates.materials.get_first(formula=ChemFormula("As"))
arsenic = arsenic_template.fill(type="reagent", ratio=28.5)
my_synthesis.materials.append(arsenic)
# save changes
saved = [file.save() for file in (my_templates, my_synthesis)]
A Simple FOS File
name: TE001
date: 03-11-2026
// This comment will remain attached to the experimenters when saving.
experimenters: [
name: Travis Errthum
affiliation: Kovnir Group - Iowa State University
orcid: 0009-0006-1937-5672
]
// ! Comments starting with a ! do not get read from the file.
internal_project_ID: Ba2-TM5-Pn6
internal_project_description: Unique Clathrate
[Reaction]
nominal_formula: Ba2Zn5Sb6
nominal_mass: 250.0
nominal_mass_units: mg
[[Materials]]
:name
:type
:formula
:supplier
:cas
:form
:purity
:env
:ratio
:treatments
Barium
reagent
Ba
Thermofisher
7440-39-3
lump
0.999
Ar (g)
// The comment below will be correctly re-calculated when saving,
// ...provided that the materials.add_weight_pcts routine is scheduled.
// otherwise it will be removed altogether.
// ! Total weight percent: 200%
2.0
[
type: cutting
repeats: 1
observations: smaller pieces improve homogenization
]
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
fospy-0.0.2.tar.gz
(362.2 kB
view details)
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
fospy-0.0.2-py3-none-any.whl
(27.6 kB
view details)
File details
Details for the file fospy-0.0.2.tar.gz.
File metadata
- Download URL: fospy-0.0.2.tar.gz
- Upload date:
- Size: 362.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d166ee119a2767f5714c6246f2078c0f7a784fb1aa4ebca4ce513ddceacf8aaa
|
|
| MD5 |
88fa0e36d1506819a4be56c7b49d2194
|
|
| BLAKE2b-256 |
2c457e0a7ddd7e965fd3a8a05ac50f9b88abadd16a3475cd297d7f46cc03b064
|
File details
Details for the file fospy-0.0.2-py3-none-any.whl.
File metadata
- Download URL: fospy-0.0.2-py3-none-any.whl
- Upload date:
- Size: 27.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b392e67f60aa691fc3fe6a26d26097f2a8a36032c80a919483a8925001bc95a
|
|
| MD5 |
2dee459c7b86e3f9b542c97a3852626b
|
|
| BLAKE2b-256 |
9ab429b9cc25ad716130307ef785c2d26bd5011f2fcf4ea753914f83e337a190
|