Skip to content

Releases: ovitrac/SFPPy

πŸš€ SFPPy - Python Framework for Food Contact Compliance & Risk Assessment 🍏⏩🍎

12 Oct 13:07

Choose a tag to compare

SFPPy v1.50 Release 🍏⏩🍎


Important

This page provides the latest stable version of SFPPy for local installation on your machine.

If you're looking for an online experience, there are two alternatives:

  • 🟒 Google Colab: No packaging needed β€” follow the git clone instructions shown on the main project page or watch the video walkthrough.

  • 🌐 SFPPyLite: Use SFPPy directly in your browser with no setup at all. Powered by WebAssembly and JupyterLite, it gives you access to most of SFPPy’s core capabilities in a single click.

    πŸ§ͺ Try it online!

πŸ”„ Both SFPPy and SFPPyLite are aligned and current in version 1.44.


About SFPPy

SFPPy is a Python-based framework for π“Œ‰β—―π“‡‹ compliance testing of food contact materials and πŸŽ’βŒ¬β™»οΈ recycled plastic safety assessment. It supports regulations from:

  • πŸ‡ΊπŸ‡Έ US FDA regulations
  • πŸ‡ͺπŸ‡Ί European Union (EFSA, EU 10/2011, etc.)
  • πŸ‡¨πŸ‡³ Chinese GB standards
  • 🌍 Other international guidelines

Release Notes

πŸ“Œ SFPPy is AI-ready. Yes, GPT robots can develop chemical migration scenarios using the Pythonic language, operator and class models using the SFPPy frameworks. The limitations are discussed here. Example5.py demonstrates how a scientific agent can be built with ollama, RAG, and a proper knowledge base (provided as docs/KP.zip).

πŸ“Œ SFPPy is integrated in notebooks that keep records of the entire evaluation process. Starting from v1.37, a compliance template notebook for compliance is shipped with SFPPy.

πŸ“Œ SFPPy is equipped with a graphical interface. SFPPy-GUI supports many of the capabilities of SFPPy and can easily be extended with forms or customized widgets. The manual is available here.

πŸ“Œ SFPPy can be used in hybrid environments (online/offline), scripts/notebooks, Windows/Linux. All examples are provided as exampleX.py and notebooks/exampleX.ipynb, with X = 1–4.

πŸ“Œ Starting from version 1.3, SFPPy starts all simulations from the sole knowledge of the chemical name of the substance, inferring the diffusivities (πŸŽοΈπŸ’¨, πŸš—πŸ’¨πŸ›»πŸ’¨πŸš›πŸ’¨) and partitioning (🧲) from the best models applicable. The collection of models can be augmented as shown in patankar.properties.

πŸ“Œ SFPPy uses PubChem as the primary source of chemical information, including chemical structure. An internet connection enables SFPPy to retrieve information automatically. The information is cached locally to avoid overloading PubChem servers.

πŸ“Œ Starting from version 1.37, SFPPy is shipped with all substances of Annex I of the Regulation (EU) 10/2011 and provides toxicological alerts (if found) for all substances used as inputs. It uses ToxTree for that.

πŸ“Œ SFPPy is agnostic to the system considered and runs indifferently on πŸͺŸ Windows, 🐧 Linux, 🍎 macOS. SFPPy depends exclusively on standard libraries: SciPy, NumPy, Matplotlib, Pandas, PIL.

πŸ“Œ SFPPy is very fast and designed to test chained complex scenarios involving one or several substances.

πŸ“Œ As of version 1.40, SFPPy and SFPPyLite offer similar functionality. Users are encouraged to work through Jupyter notebooks rather than standalone Python scripts, as notebooks offer a more interactive and reproducible workflow. Global behaviorβ€”such as discretization resolution, plotting preferences, and moreβ€”can be customized via user overrides using:
from patankar.useroverride import useroverride

πŸ“Œ *As of version 1.41, SFPPy and SFPPyLite are shipped with US FCN (πŸ‡ΊπŸ‡Έ), EU Annex I (πŸ‡ͺπŸ‡Ί), and GB Appendix A (πŸ‡¨πŸ‡³) databases, all managed independently with their database manager and updater. All individual substances and their toxicological assessment are shipped with SPFPPy.

πŸ“Œ Version 1.44 brings several fixes and additions identified/requested by users.

πŸ“Œ *As of version 1.50, SFPPy brings design-for-compliance to packaging with tiers M0–M3 , explicit performance indicators, open data, AI-assisted reasoning. It automates risk assessment for the 100s of chromatogram peaks in recycled-material extracts. Read our πŸ“„ technical paper here.


πŸ—œοΈ Download SFPPy v1.50 – Stable Release

Feature / Content βœ… Full Version
129 MB
βšͺ Light Version
66 MB
πŸ§ͺ Includes Toxtree integration βœ… Yes ❌ No
πŸ“š Full documentation βœ… Yes βœ… Yes
🧬 Advanced risk assessment (migrantToxtree) βœ… Supported ❌ Not supported
πŸ”¬ Routine migration modeling (migrant) βœ… Supported βœ… Supported
πŸ“₯ Download ZIP Download SFPPy Download SFPPymin
πŸ“¦ View all versions Releases Releases

πŸ’‘ Note: The light version does not include a private installation of Toxtree, used by patankar.loadpubchem.migrantToxtree for advanced risk assessment. However, patankar.loadpubchem.migrant remains fully functional for routine migration simulations.


Warning

❗ Toxtree requires a Java runtime environment (JRE) if Java β˜• is not already installed. If needed, Toxtree can be manually installed in patankar/private/toxtree/ as described in patankar/private/toxtree/README.md.


πŸ“‚ Example Files

SFPPy includes four example scripts (and more notebooks) to help you get started:

Example file (located in the root folder 🏠) Description (see πŸ” Wiki Pages)
example1.py Monolayer materials
example2.py Recycled bottles with functional barriers
example3.py Chained simulations with variations
example4.py Fitting experimental curves to extract diffusion and partition coefficients
example5.py Retrieval-Augmented Generation (RAG) over Legal Knowledge Base

Tip

✨ All scripts in the root folder 🏠 can be executed directly without modifying the Python path.
If running from another location, use the CLI:

sfppy example1.py  # Replace example1.py with your script

Important

Notebooks: Keep code, assumptions, results, and interpretations together β€” ideal for regulatory workflows. If you run notebooks/example1.ipynb, you can save automatically all results and code with:

export_notebook(filename="example1",outputfolder="reports");

πŸ› οΈ Running SFPPy from Anywhere 🌐

To test releases effortlessly:

# Navigate to the extracted SFPPy folder
cd /path/to/SFPPy  # 🏠 Unzipped folder

# Install SFPPy in editable mode (dependencies included)
pip install -e .

# Run example1 from anywhere
sfppy example1.py  # Replace example1.py with your script

For detailed installation instructions, refer to the installation guide πŸ§‘β€πŸ”§.

Note

All notebooks located in πŸ“‚notebooks/ are equipped with a bootstrap mechanism enabling them to start without any installation.


πŸš€ Quick Start & Exploration

πŸ“š Read the Online Documentation:

πŸš€ Try SFPPy now and streamline your food safety assessments!


πŸ”— Additional Resources...

Read more

πŸš€ SFPPy - Python Framework for Food Contact Compliance & Risk Assessment 🍏⏩🍎

27 Jul 13:32

Choose a tag to compare

SFPPy v1.44 Release 🍏⏩🍎


Important

This page provides the latest stable version of SFPPy for local installation on your machine.

If you're looking for an online experience, there are two alternatives:

  • 🟒 Google Colab: No packaging needed β€” simply follow the git clone instructions shown on the main project page or watch the video walkthrough.

  • 🌐 SFPPyLite: Use SFPPy directly in your browser with no setup at all. Powered by WebAssembly and JupyterLite, it gives you access to most of SFPPy’s core capabilities in a single click.

    πŸ§ͺ Try it online!

πŸ”„ Both SFPPy and SFPPyLite are aligned and current in version 1.44.


About SFPPy

SFPPy is a Python-based framework for π“Œ‰β—―π“‡‹ compliance testing of food contact materials and πŸŽ’βŒ¬β™»οΈ recycled plastic safety assessment. It supports regulations from:

  • πŸ‡ΊπŸ‡Έ US FDA regulations
  • πŸ‡ͺπŸ‡Ί European Union (EFSA, EU 10/2011, etc.)
  • πŸ‡¨πŸ‡³ Chinese GB standards
  • 🌍 Other international guidelines

Release Notes

πŸ“Œ SFPPy is AI ready. Yes, GPT robots can develop chemical migration scenarios using the Pythonic language, operator and class models using the SFPPy frameworks. The limitations are discussed here. Example5.py demonstrates how a scientific agent can be built with ollama, RAG and a proper knowledge base (provided as docs/KP.zip).

πŸ“Œ SFPPy is integrated in notebooks that keep records of the entire evaluation process. Starting from v1.37, a compliance template notebook for compliance is shipped with SFPPy.

πŸ“Œ SFPPy is equipped with a graphical interface. SFPPy-GUI supports many of the capabilities of SFPPy and can easily be extended with forms or customized widgets. The manual is available here.

πŸ“Œ SFPPy can be used in hybrid environments (online/offline), scripts/notebooks, Windows/Linux. All examples are provided as exampleX.py and notebooks/exampleX.ipynb, with X = 1–4.

πŸ“Œ Starting from version 1.3, SFPPy starts all simulations from the sole knowledge of the chemical name of the substance, inferring the diffusivities (πŸŽοΈπŸ’¨, πŸš—πŸ’¨πŸ›»πŸ’¨πŸš›πŸ’¨) and partitioning (🧲) from the best models applicable. The collection of models can be augmented as shown in patankar.properties.

πŸ“Œ SFPPy uses PubChem as the primary source of chemical information, including chemical structure. An internet connection enables SFPPy to retrieve information automatically. The information is cached locally to avoid overloading PubChem servers.

πŸ“Œ Starting from version 1.37, SFPPy is shipped with all substances of Annex I of the Regulation (EU) 10/2011 and provides toxicological alerts (if found) for all substances used as inputs. It uses ToxTree for that.

πŸ“Œ SFPPy is agnostic to the system considered and runs indifferently on πŸͺŸ Windows, 🐧 Linux, 🍎 macOS. SFPPy depends exclusively on standard libraries: SciPy, NumPy, Matplotlib, Pandas, PIL.

πŸ“Œ SFPPy is very fast and designed to test chained complex scenarios involving one or several substances.

πŸ“Œ As of version 1.40, SFPPy and SFPPyLite offer similar functionality. Users are encouraged to work through Jupyter notebooks rather than standalone Python scripts, as notebooks provide a more interactive and reproducible workflow. Global behaviorβ€”such as discretization resolution, plotting preferences, and moreβ€”can be customized via user overrides using:
from patankar.useroverride import useroverride

πŸ“Œ *As of version 1.41, SFPPy and SFPPyLite are shipped with US FCN (πŸ‡ΊπŸ‡Έ), EU Annex I (πŸ‡ͺπŸ‡Ί), and GB Appendix A (πŸ‡¨πŸ‡³) databases, all managed independently with their database manager and updater. All individual substances and their toxicological assessment are shipped with SPFPPy.


πŸ—œοΈ Download SFPPy v1.42 – Stable Release

Feature / Content βœ… Full Version
128 MB
βšͺ Light Version
64 MB
πŸ§ͺ Includes Toxtree integration βœ… Yes ❌ No
πŸ“š Full documentation βœ… Yes βœ… Yes
🧬 Advanced risk assessment (migrantToxtree) βœ… Supported ❌ Not supported
πŸ”¬ Routine migration modeling (migrant) βœ… Supported βœ… Supported
πŸ“₯ Download ZIP Download SFPPy Download SFPPymin
πŸ“¦ View all versions Releases Releases

πŸ’‘ Note: The light version does not include a private installation of Toxtree, used by patankar.loadpubchem.migrantToxtree for advanced risk assessment. However, patankar.loadpubchem.migrant remains fully functional for routine migration simulations.


Warning

❗ Toxtree requires a Java runtime environment (JRE) if Java β˜• is not already installed. If needed, Toxtree can be manually installed in patankar/private/toxtree/ as described in patankar/private/toxtree/README.md.


πŸ“‚ Example Files

SFPPy includes four example scripts (and more notebooks) to help you get started:

Example file (located in the root folder 🏠) Description (see πŸ” Wiki Pages)
example1.py Monolayer materials
example2.py Recycled bottles with functional barriers
example3.py Chained simulations with variations
example4.py Fitting experimental curves to extract diffusion and partition coefficients
example5.py Retrieval-Augmented Generation (RAG) over Legal Knowledge Base

Tip

✨ All scripts in the root folder 🏠 can be executed directly without modifying the Python path.
If running from another location, use the CLI:

sfppy example1.py  # Replace example1.py with your script

Important

Notebooks: Keep code, assumptions, results, and interpretations together β€” ideal for regulatory workflows. If you run notebooks/example1.ipynb, you can save automatically all results and code with:

export_notebook(filename="example1",outputfolder="reports");

πŸ› οΈ Running SFPPy from Anywhere 🌐

To test releases effortlessly:

# Navigate to the extracted SFPPy folder
cd /path/to/SFPPy  # 🏠 Unzipped folder

# Install SFPPy in editable mode (dependencies included)
pip install -e .

# Run example1 from anywhere
sfppy example1.py  # Replace example1.py with your script

For detailed installation instructions, refer to the installation guide πŸ§‘β€πŸ”§.

Note

All notebooks located in πŸ“‚notebooks/ are equipped with a bootstrap mechanism enabling them to start without any installation.


πŸš€ Quick Start & Exploration

πŸ“š Read the Online Documentation:

πŸš€ Try SFPPy now and streamline your food safety assessments!


πŸ”— Additional Resources

πŸ“– Publication on Chained Simulation
🧬 AIChE Journal: Migration Modeling with SFPPy
A peer-reviewed reference for the core modeling engine and chaining logic implemented in SFPPy.


πŸ“Œ GitHub Pages

SFPPy main
The official development hub for SFPPy, including installation, examples, and docum...

Read more

πŸš€ SFPPy - Python Framework for Food Contact Compliance & Risk Assessment 🍏⏩🍎

02 Apr 09:12

Choose a tag to compare

SFPPy v1.42 Release 🍏⏩🍎


Important

This page provides the latest stable version of SFPPy for local installation on your machine.

If you're looking for an online experience, there are two alternatives:

  • 🟒 Google Colab: No packaging needed β€” simply follow the git clone instructions shown on the main project page or watch the video walkthrough.

  • 🌐 SFPPyLite: Use SFPPy directly in your browser with no setup at all. Powered by WebAssembly and JupyterLite, it gives you access to most of SFPPy’s core capabilities in a single click.

    πŸ§ͺ Try it online!

πŸ”„ Both SFPPy and SFPPyLite are aligned and current in version 1.41.


About SFPPy

SFPPy is a Python-based framework for π“Œ‰β—―π“‡‹ compliance testing of food contact materials and πŸŽ’βŒ¬β™»οΈ recycled plastic safety assessment. It supports regulations from:

  • πŸ‡ΊπŸ‡Έ US FDA regulations
  • πŸ‡ͺπŸ‡Ί European Union (EFSA, EU 10/2011, etc.)
  • πŸ‡¨πŸ‡³ Chinese GB standards
  • 🌍 Other international guidelines

Release Notes

πŸ“Œ SFPPy is AI ready. Yes, GPT robots can develop chemical migration scenarios using the Pythonic language, operator and class models using the SFPPy frameworks. The limitations are discussed here.

πŸ“Œ SFPPy is integrated in notebooks that keep records of the entire evaluation process. Starting from v1.37, a compliance template notebook for compliance is shipped with SFPPy.

πŸ“Œ SFPPy is equipped with a graphical interface. SFPPy-GUI supports many of the capabilities of SFPPy and can easily be extended with forms or customized widgets. The manual is available here.

πŸ“Œ SFPPy can be used in hybrid environments (online/offline), scripts/notebooks, Windows/Linux. All examples are provided as exampleX.py and notebooks/exampleX.ipynb, with X = 1–4.

πŸ“Œ Starting from version 1.3, SFPPy starts all simulations from the sole knowledge of the chemical name of the substance, inferring the diffusivities (πŸŽοΈπŸ’¨, πŸš—πŸ’¨πŸ›»πŸ’¨πŸš›πŸ’¨) and partitioning (🧲) from the best models applicable. The collection of models can be augmented as shown in patankar.properties.

πŸ“Œ SFPPy uses PubChem as the primary source of chemical information, including chemical structure. An internet connection enables SFPPy to retrieve information automatically. The information is cached locally to avoid overloading PubChem servers.

πŸ“Œ Starting from version 1.37, SFPPy is shipped with all substances of Annex I of the Regulation (EU) 10/2011 and provides toxicological alerts (if found) for all substances used as inputs. It uses ToxTree for that.

πŸ“Œ SFPPy is agnostic to the system considered and runs indifferently on πŸͺŸ Windows, 🐧 Linux, 🍎 macOS. SFPPy depends exclusively on standard libraries: SciPy, NumPy, Matplotlib, Pandas, PIL.

πŸ“Œ SFPPy is very fast and designed to test chained complex scenarios involving one or several substances.

πŸ“Œ As of version 1.40, SFPPy and SFPPyLite offer similar functionality. Users are encouraged to work through Jupyter notebooks rather than standalone Python scripts, as notebooks provide a more interactive and reproducible workflow. Global behaviorβ€”such as discretization resolution, plotting preferences, and moreβ€”can be customized via user overrides using:
from patankar.useroverride import useroverride

πŸ“Œ *As of version 1.41, SFPPy and SFPPyLite are shipped with US FCN (πŸ‡ΊπŸ‡Έ), EU Annex I (πŸ‡ͺπŸ‡Ί), and GB Appendix A (πŸ‡¨πŸ‡³) databases, all managed independently with their database manager and updater. All individual substances and their toxicological assessment are shipped with SPFPPy.


πŸ—œοΈ Download SFPPy v1.42 – Stable Release

Feature / Content βœ… Full Version
128 MB
βšͺ Light Version
64 MB
πŸ§ͺ Includes Toxtree integration βœ… Yes ❌ No
πŸ“š Full documentation βœ… Yes βœ… Yes
🧬 Advanced risk assessment (migrantToxtree) βœ… Supported ❌ Not supported
πŸ”¬ Routine migration modeling (migrant) βœ… Supported βœ… Supported
πŸ“₯ Download ZIP Download SFPPy Download SFPPymin
πŸ“¦ View all versions Releases Releases

πŸ’‘ Note: The light version does not include a private installation of Toxtree, used by patankar.loadpubchem.migrantToxtree for advanced risk assessment. However, patankar.loadpubchem.migrant remains fully functional for routine migration simulations.


Warning

❗ Toxtree requires a Java runtime environment (JRE) if Java β˜• is not already installed. If needed, Toxtree can be manually installed in patankar/private/toxtree/ as described in patankar/private/toxtree/README.md.


πŸ“‚ Example Files

SFPPy includes four example scripts (and more notebooks) to help you get started:

Example file (located in the root folder 🏠) Description (see πŸ” Wiki Pages)
example1.py Monolayer materials
example2.py Recycled bottles with functional barriers
example3.py Chained simulations with variations
example4.py Fitting experimental curves to extract diffusion and partition coefficients

Tip

✨ All scripts in the root folder 🏠 can be executed directly without modifying the Python path.
If running from another location, use the CLI:

sfppy example1.py  # Replace example1.py with your script

Important

Notebooks: Keep code, assumptions, results, and interpretations together β€” ideal for regulatory workflows. If you run notebooks/example1.ipynb, you can save automatically all results and code with:

export_notebook(filename="example1",outputfolder="reports");

πŸ› οΈ Running SFPPy from Anywhere 🌐

To test releases effortlessly:

# Navigate to the extracted SFPPy folder
cd /path/to/SFPPy  # 🏠 Unzipped folder

# Install SFPPy in editable mode (dependencies included)
pip install -e .

# Run example1 from anywhere
sfppy example1.py  # Replace example1.py with your script

For detailed installation instructions, refer to the installation guide πŸ§‘β€πŸ”§.

Note

All notebooks located in πŸ“‚notebooks/ are equipped with a bootstrap mechanism enabling them to start without any installation.


πŸš€ Quick Start & Exploration

πŸ“š Read the Online Documentation:

πŸš€ Try SFPPy now and streamline your food safety assessments!


πŸ”— Additional Resources

πŸ“– Publication on Chained Simulation
🧬 AIChE Journal: Migration Modeling with SFPPy
A peer-reviewed reference for the core modeling engine and chaining logic implemented in SFPPy.


πŸ“Œ GitHub Pages

SFPPy main
The official development hub for SFPPy, including installation, examples, and documentation.

SFPPyLite in your browser
SFPPyLite is a sister project that runs entirely in-browser, without installation or servers. Most use casesβ€”setup, simulation, visualization, and exportβ€”can be handled interactively in JupyterLite.
See [wiki pag...

Read more

πŸš€ SFPPy - Python Framework for Food Contact Compliance & Risk Assessment 🍏⏩🍎

27 Mar 14:29

Choose a tag to compare

SFPPy v1.40 Release 🍏⏩🍎


Important

This page provides the latest stable version of SFPPy for local installation on your machine.

If you're looking for an online experience, there are two alternatives:

  • 🟒 Google Colab: No packaging needed β€” simply follow the git clone instructions shown on the main project page or watch the video walkthrough.

  • 🌐 SFPPyLite: Use SFPPy directly in your browser with no setup at all. Powered by WebAssembly and JupyterLite, it gives you access to most of SFPPy’s core capabilities in a single click.

    πŸ§ͺ Try it online!

πŸ”„ Both SFPPy and SFPPyLite are aligned and current in version 1.40.


About SFPPy

SFPPy is a Python-based framework for π“Œ‰β—―π“‡‹ compliance testing of food contact materials and πŸŽ’βŒ¬β™»οΈ recycled plastic safety assessment. It supports regulations from:

  • πŸ‡ΊπŸ‡Έ US FDA regulations
  • πŸ‡ͺπŸ‡Ί European Union (EFSA, EU 10/2011, etc.)
  • πŸ‡¨πŸ‡³ Chinese GB standards
  • 🌍 Other international guidelines

Release Notes

πŸ“Œ SFPPy is AI ready. Yes, GPT robots can develop chemical migration scenarios using the Pythonic language, operator and class models using the SFPPy frameworks. The limitations are discussed here.

πŸ“Œ SFPPy is integrated in notebooks that keep records of the entire evaluation process. Starting from v1.37, a compliance template notebook for compliance is shipped with SFPPy.

πŸ“Œ SFPPy is equipped with a graphical interface. SFPPy-GUI supports many of the capabilities of SFPPy and can easily be extended with forms or customized widgets. The manual is available here.

πŸ“Œ SFPPy can be used in hybrid environments (online/offline), scripts/notebooks, Windows/Linux. All examples are provided as exampleX.py and notebooks/exampleX.ipynb, with X = 1–4.

πŸ“Œ Starting from version 1.3, SFPPy starts preferably all simulations from the sole knowledge of the chemical name of the substance, inferring the diffusivities (πŸŽοΈπŸ’¨, πŸš—πŸ’¨πŸ›»πŸ’¨πŸš›πŸ’¨) and partitioning (🧲) from the best models applicable. The collection of models can be augmented as shown in patankar.properties.

πŸ“Œ SFPPy uses PubChem as the main source of chemical information including chemical structure. An internet connection is required to enable SFPPy to retrieve information automatically. The information is cached locally to avoid overloading PubChem servers.

πŸ“Œ Starting from version 1.37, SFPPy is shipped with all substances of the Annex I of the Regulation (EU) 10/2011 and provides toxicological alerts (if found) for all substances used as inputs. It uses ToxTree for that.

πŸ“Œ SFPPy is agnostic to the system considered and runs indifferently on πŸͺŸ Windows, 🐧 Linux, 🍎 macOS. SFPPy depends exclusively on standard libraries: SciPy, NumPy, Matplotlib, Pandas, PIL.

πŸ“Œ SFPPy is very fast and has been designed for testing chained complex scenarios involving one or several substances.

πŸ“Œ As of version 1.40, SFPPy and SFPPyLite offer very similar functionality. Users are strongly encouraged to work through Jupyter notebooks rather than standalone Python scripts, as notebooks provide a more interactive and reproducible workflow. Global behaviorβ€”such as discretization resolution, plotting preferences, and moreβ€”can be customized via user overrides using:
from patankar.useroverride import useroverride


πŸ—œοΈ Download SFPPy v1.40 – Stable Release

Feature / Content βœ… Full Version
112 MB
βšͺ Light Version
48 MB
πŸ§ͺ Includes Toxtree integration βœ… Yes ❌ No
πŸ“š Full documentation βœ… Yes βœ… Yes
🧬 Advanced risk assessment (migrantToxtree) βœ… Supported ❌ Not supported
πŸ”¬ Routine migration modeling (migrant) βœ… Supported βœ… Supported
πŸ“₯ Download ZIP Download SFPPy Download SFPPymin
πŸ“¦ View all versions Releases Releases

πŸ’‘ Note: The light version does not include a private installation of Toxtree, used by patankar.loadpubchem.migrantToxtree for advanced risk assessment. However, patankar.loadpubchem.migrant remains fully functional for routine migration simulations.


Warning

❗ Toxtree requires a Java runtime environment (JRE) if Java β˜• is not already installed. If needed, Toxtree can be manually installed in patankar/private/toxtree/ as described in patankar/private/toxtree/README.md.


πŸ“‚ Example Files

SFPPy includes four example scripts (and more notebooks) to help you get started:

Example file (located in the root folder 🏠) Description (see πŸ” Wiki Pages)
example1.py Monolayer materials
example2.py Recycled bottles with functional barriers
example3.py Chained simulations with variations
example4.py Fitting experimental curves to extract diffusion and partition coefficients

Tip

✨ All scripts in the root folder 🏠 can be executed directly without modifying the Python path.
If running from another location, use the CLI:

sfppy example1.py  # Replace example1.py with your script

Important

Notebooks: Keep code, assumptions, results, and interpretations together β€” ideal for regulatory workflows. If you run notebooks/example1.ipynb, you can save automatically all results and code with:

export_notebook(filename="example1",outputfolder="reports");

πŸ› οΈ Running SFPPy from Anywhere 🌐

To test releases effortlessly:

# Navigate to the extracted SFPPy folder
cd /path/to/SFPPy  # 🏠 Unzipped folder

# Install SFPPy in editable mode (dependencies included)
pip install -e .

# Run example1 from anywhere
sfppy example1.py  # Replace example1.py with your script

For detailed installation instructions, refer to the installation guide πŸ§‘β€πŸ”§.

Note

All notebooks located in πŸ“‚notebooks/ are equipped with a bootstrap mechanism enabling them to start without any installation.


πŸš€ Quick Start & Exploration

πŸ“š Read the Online Documentation:

πŸš€ Try SFPPy now and streamline your food safety assessments!


πŸ”— Additional Resources

πŸ“– Publication on Chained Simulation
🧬 AIChE Journal: Migration Modeling with SFPPy
A peer-reviewed reference for the core modeling engine and chaining logic implemented in SFPPy.


πŸ“Œ GitHub Pages

SFPPy main
The official development hub for SFPPy, including installation, examples, and documentation.

SFPPyLite in your browser
SFPPyLite is a sister project that runs entirely in-browser, without installation or servers. Most use casesβ€”including setup, simulation, visualization, and exportβ€”can be handled interactively in JupyterLite.
See wiki pages for more.


Tip

🧠 Why is SFPPy AI-ready?
Read more on Generative Simulation. ...

Read more

πŸš€ SFPPy - Python Framework for Food Contact Compliance & Risk Assessment 🍏⏩🍎

22 Mar 21:09

Choose a tag to compare

SFPPy v1.37 Release 🍏⏩🍎


Important

This page is for downloading the last stable version of SFPPy for a local installation. If you prefer an online installation on Google Colab, please refer to the project's main page and this video. The installation of SFPPy in Colab (and in some online Jupyter notebooks) does not need packaging but git clone instructions instead.


About SFPPy

SFPPy is a Python-based framework for π“Œ‰β—―π“‡‹ compliance testing of food contact materials and πŸŽ’βŒ¬β™»οΈ recycled plastic safety assessment. It supports regulations from:

  • πŸ‡ΊπŸ‡Έ US FDA regulations
  • πŸ‡ͺπŸ‡Ί European Union (EFSA, EU 10/2011, etc.)
  • πŸ‡¨πŸ‡³ Chinese GB standards
  • 🌍 Other international guidelines

Release Notes

πŸ“Œ SFPPy is AI-ready. Yes, GPT robots can develop chemical migration scenarios using the Pythonic language and operator and class models using the SFPPy frameworks. The limitations are discussed here.

πŸ“Œ SFPPy is integrated in notebooks that keep records of the entire evaluation process. Starting from v1.37, a compliance template notebook for compliance is shipped with SFPPy.

πŸ“Œ SFPPy is equipped with a graphical interface. SFPPy-GUI supports many of the capabilities of SFPPy and can easily be extended with forms or customized widgets. The manual is available here.

πŸ“Œ SFPPy can be used in hybrid environments (online/offline), scripts/notebooks, and Windows/Linux. All examples are provided as exampleX.py and notebooks/exampleX.ipynb, with X = 1–4.

πŸ“Œ Starting from version 1.3, SFPPy preferably starts all simulations from the sole knowledge of the substance's chemical name, inferring the diffusivities (πŸŽοΈπŸ’¨, πŸš—πŸ’¨πŸ›»πŸ’¨πŸš›πŸ’¨) and partitioning (🧲) from the best applicable models. The collection of models can be augmented as shown in patankar.properties.

πŸ“Œ SFPPy uses PubChem as the primary source of chemical information, including chemical structure. An internet connection enables SFPPy to retrieve information automatically. The information is cached locally to avoid overloading PubChem servers.

πŸ“Œ Starting from version 1.37, SFPPy is shipped with all substances of Annex I of the Regulation (EU) 10/2011 and provides toxicological alerts (if found) for all substances used as inputs. It uses ToxTree for that.

πŸ“Œ SFPPy is agnostic to the system considered and runs indifferently on πŸͺŸ Windows, 🐧 Linux, 🍎 macOS. SFPPy depends exclusively on standard libraries: SciPy, NumPy, Matplotlib, Pandas, PIL.

πŸ“Œ SFPPy is very fast and designed to test chained complex scenarios involving one or several substances.


πŸ“¦ Download & Installation

SFPPy stable is available in two versions πŸ—œοΈ

  • Full version 108 MB π“‹° Includes: πŸ§ͺ Toxtree βΊβ‚Š πŸ“š Full documentation
    πŸ“₯ Download SFPPy (check the last version here)

  • Light version 44 MB π“‹° Includes: βΊβ‚Š πŸ“š Full documentation
    πŸ“₯ Download SFPPymin (check the last version here)

The light version does not include the private installation of Toxtree, which is used in patankar.loadpubchem.migrantToxtree for advanced risk assessment. However, patankar.loadpubchem.migrant remains fully functional for routine simulations.

Warning

❗ Toxtree requires a Java runtime environment (JRE) if Java β˜• is not already installed. If needed, Toxtree can be manually installed in patankar/private/toxtree/ as described in patankar/private/toxtree/README.md.


πŸ“‚ Example Files

SFPPy includes four example scripts (and more notebooks) to help you get started:

Example file (located in the root folder 🏠) Description (see πŸ” Wiki Pages)
example1.py Monolayer materials
example2.py Recycled bottles with functional barriers
example3.py Chained simulations with variations
example4.py Fitting experimental curves to extract diffusion and partition coefficients

Tip

✨ All scripts in the root folder 🏠 can be executed directly without modifying the Python path.
If running from another location, use the CLI:

sfppy example1.py  # Replace example1.py with your script

Important

Notebooks: Keep code, assumptions, results, and interpretations together β€” ideal for regulatory workflows. If you run notebooks/example1.ipynb, you can save all results and code automatically with:

export_notebook(filename="example1",outputfolder="reports");

πŸ› οΈ Running SFPPy from Anywhere 🌐

To test releases effortlessly:

# Navigate to the extracted SFPPy folder
cd /path/to/SFPPy  # 🏠 Unzipped folder

# Install SFPPy in editable mode (dependencies included)
pip install -e .

# Run example1 from anywhere
sfppy example1.py  # Replace example1.py with your script

For detailed instructions, refer to the installation guide πŸ§‘β€πŸ”§.

Note

All notebooks located in πŸ“‚notebooks/ are equipped with a bootstrap mechanism enabling them to start without any installation.


πŸš€ Quick Start & Exploration

πŸ“š Read the Online Documentation:

πŸš€ Try SFPPy now and streamline your food safety assessments!


πŸ”— Additional Resources

πŸ“– Publication on chained simulations:
AIChE Journal - SFPPy Migration Modeling

πŸ“Œ GitHub Pages:

πŸ§ͺ Try it online! is the official development branch of SFPPy.

πŸ§ͺ Try it online! is a sister project running Python and 🚧 some features of SFPPy directly in your browser without any server or installation. It can open/edit notebooks and Python β€” even if you do not have Jupyter, Spyder, or Visual Studio Code. Just drop the files in the file browser (left pane).

Why SFPPy is in Python?

[!TIP]

βœ… Open & Accessible. 🧰 Powerful Scientific Libraries. πŸ”„ Better Interoperability. ⚑ Automation & Reproducibility in simulation batches. 🧠 AI-Readiness. GPTs and AI tools already speak Python natively. The SFPPy API and class design were crafted to allow semantic modeling of scenarios (e.g., using >> chaining, units, chemical knowledge).


🍏⏩🍎 SFPPy for Food Contact Compliance and Risk Assessment
*Contact* Olivier Vitrac *for questions |* Website *|* Documentation

πŸš€ SFPPy - Python Framework for Food Contact Compliance & Risk Assessment 🍏⏩🍎

07 Mar 17:41

Choose a tag to compare

SFPPy v1.3 Releases 🍏⏩🍎


About SFPPy

SFPPy is a Python-based framework for π“Œ‰β—―π“‡‹ compliance testing of food contact materials and πŸŽ’βŒ¬β™»οΈ recycled plastic safety assessment. It supports regulations from:

  • πŸ‡ΊπŸ‡Έ US FDA regulations
  • πŸ‡ͺπŸ‡Ί European Union (EFSA, EU 10/2011, etc.)
  • πŸ‡¨πŸ‡³ Chinese GB standards
  • 🌍 Other international guidelines

πŸ“Œ SFPPy integrates well-established chemical migration models into Python, offering object-oriented and scalable capabilities. It includes a comprehensive collection of scenarios πŸ—ƒ for various applications.

πŸ”” Starting from version 1.3, the computational engine βš™οΈ automatically selects the best model πŸ€” to predict πŸͺ„ diffusivities and partitioning from molecular structures ⌬.

Diffusivity in polymer ($D$)
πŸŽοΈπŸ’¨, πŸš—πŸ’¨πŸ›»πŸ’¨πŸš›πŸ’¨
Henry-like coefficients ($k$):
Chemical affinity 🧲
πŸ“Œ Dpiringer - Legacy overestimation model (many polymersπŸ–‡, temperature effects🌑️) πŸ“Œ kFH - Flory-Huggins model for polymers and adhesives (many polymers πŸ–‡)
πŸ“Œ DFV - Hole Free-Volume model = Accurate for recycled plastics ♻️ and decontamination processes πŸ’¦ πŸ“Œ kFH - Flory-Huggins model for food simulantsπŸ₯« with entropic correction
πŸ“Œ Dwelle - Refined model for PET and PS above and below $T_g$ πŸ“Œ Combined rules considering texture effects 🍯

πŸš€ No Python Knowledge? No Problem! πŸ§‘β€πŸ”¬πŸ‘©β€πŸ”¬ SFPPy is designed for scientists, engineers, and food packaging experts without programming experience. You can simulate mass transfer or analyze results using πŸ”Ή simple commands and πŸ”Ή pre-built functions that handle complex calculations internally.


πŸ“¦ Download & Installation

SFPPy is available in two versions πŸ—œοΈ β”Š Compatible with πŸͺŸ Windows, 🐧 Linux, 🍎 macOS.

The light version does not include the private installation of Toxtree, which is used in patankar.loadpubchem.migrantToxtree for advanced risk assessment. However, patankar.loadpubchem.migrant remains fully functional for routine simulations.

If needed, Toxtree can be manually installed in patankar/private/toxtree/ as described in patankar/private/toxtree/README.md.

  • Full version 80 MB π“‹° Includes: πŸ§ͺ Toxtree βΊβ‚Š πŸ“š Full documentation
    πŸ“₯ Download SFPPy

  • Light version 17 MB π“‹° Includes: βΊβ‚Š πŸ“š Full documentation
    πŸ“₯ Download SFPPymin

❗ Toxtree requires a Java runtime environment (JRE) if Java β˜• is not already installed.


πŸ“‚ Example Files

SFPPy includes four example scripts to help you get started:

Example file (located in the root folder 🏠) Description (see πŸ” Wiki Pages)
example1.py Monolayer materials
example2.py Recycled bottles with functional barriers
example3.py Chained simulations with variations
example4.py Fitting experimental curves to extract diffusion and partition coefficients

✨ All scripts in the root folder 🏠 can be executed directly without modifying the Python path.
If running from another location, use the CLI:

sfppy example1.py  # Replace example1.py with your script

πŸ› οΈ Running SFPPy from Anywhere 🌐

To test releases effortlessly:

# Navigate to the extracted SFPPy folder
cd /path/to/SFPPy  # 🏠 Unzipped folder

# Install SFPPy in editable mode (dependencies included)
pip install -e .

# Run example1 from anywhere
sfppy example1.py  # Replace example1.py with your script

For detailed installation instructions, refer to the installation guide πŸ§‘β€πŸ”§.


πŸš€ Quick Start & Exploration

πŸ“š Read the Online Documentation:

πŸš€ Try SFPPy now and streamline your food safety assessments!


πŸ”— Additional Resources

πŸ“– Publication:
AIChE Journal - SFPPy Migration Modeling

πŸ“Œ GitHub Pages:
https://ovitrac.github.io/SFPPy/


🍏⏩🍎 SFPPy for Food Contact Compliance and Risk Assessment
*Contact* Olivier Vitrac *for questions |* Website *|* Documentation

πŸš€ SFPPy - Python Framework for Food Contact Compliance & Risk Assessment 🍏⏩🍎

27 Feb 15:42

Choose a tag to compare

SFPPy v1.22 🍏⏩🍎

SFPPy is a Python-based framework for compliance testing of food contact materials and recycled plastic safety assessment, supporting regulations from:

  • πŸ‡ΊπŸ‡Έ US FDA regulations
  • πŸ‡ͺπŸ‡Ί European Union (EFSA, EU 10/2011, etc.)
  • πŸ‡¨πŸ‡³ Chinese GB standards
  • 🌍 Other international guidelines

SFPPy brings well-established chemical migration models to pure Python, offering object-oriented and scalable capabilities.
πŸ” Read the detailed internal documentation here.


πŸ“¦ Download & Installation

  • Full version (< 10 MB with documentation) - for Windows, Linux, macOS:
    πŸ“₯ Download SFPPy v1.22

πŸ“‚ Example Files

Included in the root folder:

  • example1.py
  • example2.py
  • example3.py

πŸš€ Quick Start & Exploration

πŸ“š Read the Online Documentation:

⚑ Create complex migration scenarios with concise, efficient Python code:

πŸ” Click to expand example
from patankar.layer import gPET, PP
from patankar.food import ambient, hotfilled, realfood, fat, liquid, stacked
from patankar.loadpubchem import migrant

# πŸ”¬ Look up substances on PubChem
m = migrant("limonene")

# πŸ—οΈ Create a multilayer material (ABA: PET-PP-PET)
A = gPET(l=(20, "um"), migrant=m, C0=0)
B = PP(l=(500, "um"), migrant=m, C0=200)  
ABA = A + B + A  # The leftmost layer is in contact with food

# 🍽️ Define contact & storage conditions
class contact1(stacked, ambient): name = "1: Setoff"; contacttime = (4, "months")
class contact2(hotfilled, realfood, liquid, fat): name = "2: Hot Filling"
class contact3(ambient, realfood, liquid, fat): name = "3: Storage"; contacttime = (6, "months")

# πŸ”„ Simulate a multiple-step migration process
medium1, medium2, medium3 = contact1(), contact2(), contact3()
medium1 >> ABA >> medium1 >> medium2 >> medium3  # Automatic chaining

# πŸ“Š Merge & visualize migration kinetics
sol123 = medium1.lastsimulation + medium2.lastsimulation + medium3.lastsimulation
sol123.plotCF()

πŸ’‘ Why Use SFPPy?

βœ… Regulation-Ready: Supports compliance testing for FDA, EFSA, and GB standards
βœ… Fast & Scalable: Optimized finite-volume solver for 1D mass transfer modeling
βœ… Modular & Object-Oriented: Easily define multilayer materials & food contact conditions
βœ… PubChem Integration: Fetch molecular properties directly from PubChem
βœ… Automatic Chaining: Simulate multi-step processes effortlessly

πŸš€ Try SFPPy now and streamline your food safety assessments!


πŸ”— Additional Resources

πŸ“– Publication:
AIChE Journal - SFPPy Migration Modeling

πŸ“Œ GitHub Pages:
https://ovitrac.github.io/SFPPy/