Project description
📖 Overview
NanoCoatBuilder is a professional desktop application for designing, analyzing, and optimizing coating formulations. Built for researchers, chemists, and materials scientists, it provides intelligent predictions, ISO compliance validation, and automatic synthesis protocol generation.
✨ Key Features
Feature
Description
Status
🧪 Smart Formulation
Drag-and-drop ingredient selection with real-time weight tracking
✅
🔬 Nanocomposites
Support for Graphene, CNT, MXene, ZnO, and advanced nanomaterials
✅
📊 Performance Prediction
AI-powered predictions for corrosion, adhesion, and durability
✅
✅ ISO Compliance
Automatic validation against ISO 12944, 9227, 2409 standards
✅
⚙️ Protocol Generator
Automatic synthesis protocol with safety notes
✅
🌍 Multi-language
Full English and French interface
✅
📄 Export
HTML reports and JSON data for publication
✅
📜 History & Compare
Save, load, and compare formulations side-by-side
✅
🚀 Quick Start
Run from Source
# Clone the repository
git clone https://github.com/khadev/NanoCoatBuilder.git
cd NanoCoatBuilder
# Install dependencies
pip install -r requirements.txt
# Run the application
python main.py
Install from PyPI
pip install nanocoatbuilder-app
python -c "from nanocoatbuilder_app import main; main()"
Prerequisites
Requirement
Version
Python
3.10 or higher
pip
Latest version
RAM
4GB minimum
Disk Space
500MB
Dependencies
Package
Version
Purpose
PySide6
≥6.5.0
Qt6 GUI Framework
matplotlib
≥3.7.0
Performance Graphs
numpy
≥1.24.0
Numerical Analysis
pydantic
≥2.0.0
Data Validation
📁 Project Structure
Directory
Description
main.py
Application entry point with splash screen
core/
Core business logic
core/database/
Ingredient database management
core/models/
Pydantic data models
core/analysis/
Performance analysis & validation
core/utils/
Utilities, constants & translations
ui/
User interface components
ui/widgets/
Reusable UI widgets
ui/dialogs/
Dialog windows
Screenshots/
Captured screenshots (auto-created)
🎮 Usage Guide
Step
Action
Description
1
Select Category
Choose ingredient type (Resins, Nanocomposites, Pigments, etc.)
2
Add Ingredients
Click ADD and select from database
3
Enter Weights
Input grams (target total: 100g )
4
Choose Sector
Select application (Navy, Aviation, Space, etc.)
5
Validate
Save formulation to history
6
Analyze
Get predictions, graphs, and protocol
7
Export
Save as HTML report or JSON data
📊 Supported Application Sectors
Sector
Icon
Salt Spray
Adhesion
Solids
VOC
Navy / Marine
⚓
≥3000h
≥8 MPa
≥65%
≤350
Aviation / Aerospace
✈️
≥2000h
≥10 MPa
≥70%
≤250
Space / Satellite
🚀
≥5000h
≥12 MPa
≥80%
≤100
Industry / Manufacturing
🏭
≥1500h
≥6 MPa
≥60%
≤420
Infrastructure / Bridges
🌉
≥2000h
≥7 MPa
≥60%
≤420
Building / Construction
🏗️
≥1000h
≥5 MPa
≥55%
≤420
Automotive
🚗
≥1000h
≥6 MPa
≥55%
≤350
Oil & Gas
🛢️
≥3500h
≥9 MPa
≥70%
≤350
Nuclear
☢️
≥4000h
≥10 MPa
≥75%
≤200
Medical
🏥
≥500h
≥5 MPa
≥50%
≤250
🧪 Ingredient Database
Resins
Ingredient
Min Loading
Max Loading
Cost (€/kg)
Epoxy Resin (DGEBA)
20%
60%
5.50
Polyurethane (Aliphatic)
20%
55%
6.20
Acrylic (Waterborne)
30%
65%
3.80
Silicone Resin
15%
50%
12.00
Polyimide
10%
40%
25.00
Nanocomposites
Ingredient
Type
Min Loading
Max Loading
Cost (€/kg)
Graphene Oxide (GO)
Graphene
0.1%
2.0%
150
Carbon Nanotubes (CNT)
CNT
0.05%
1.0%
200
MXene (Ti3C2Tx)
2D Material
0.2%
3.0%
500
ZnO Nanoparticles
Metal Oxide
0.5%
5.0%
45
TiO2 Nanoparticles
Metal Oxide
0.5%
6.0%
35
SiO2 Nanoparticles
Metal Oxide
0.5%
7.0%
25
Solvents
Solvent
Density (g/cm³)
Min Loading
Max Loading
Cost (€/kg)
Xylene
0.87
10%
40%
1.20
Butyl Acetate
0.88
10%
40%
1.50
Water
1.00
5%
30%
0.01
Acetone
0.79
5%
30%
1.00
Ethanol
0.79
5%
25%
0.80
Toluene
0.87
10%
40%
1.30
Additives
Additive
Min Loading
Max Loading
Cost (€/kg)
Dispersant (BYK-110)
0.1%
2.0%
15.00
Defoamer (BYK-024)
0.05%
1.0%
18.00
Curing Agent (Amine)
10%
25%
8.00
UV Absorber
0.5%
3.0%
25.00
Rheology Modifier
0.1%
2.5%
12.00
Fillers
Filler
Min Loading
Max Loading
Cost (€/kg)
Glass Fibers (short)
5%
30%
3.00
Carbon Fibers (milled)
5%
25%
25.00
Aramid Pulp
3%
20%
40.00
Cellulose Nanofibers
1%
15%
50.00
📈 Performance Predictions
Property
Unit
Excellent
Good
Poor
Corrosion Rate
mm/year
<0.01
0.01-0.05
>0.05
Adhesion
MPa
>8
5-8
<5
Salt Spray
hours
>5000
2000-5000
<2000
Volume Solids
%
>70
60-70
<60
VOC
g/L
<250
250-420
>420
Service Life
years
>20
10-20
<10
✅ ISO Standards Compliance
Standard
Requirement
Acceptance Criteria
ISO 12944-1
Formulation weight
100g ±5g
ISO 12944-5
Volume solids
≥60%
ISO 12944-5
Resin content
≥30% of solids
ISO 9227
Salt spray resistance
≥1000 hours
ISO 2409
Cross-cut adhesion
Class 0 or 1
ISO 15184
Pencil hardness
≥H
EU 2004/42/EC
VOC limit
≤420 g/L
🔧 Validation Rules
Category
Rule
Severity
Weight
Total weight must be 100g ±5g
Error
Resin
Resin content ≥30% of solids
Error
Solvent
Solvent content ≥15% of total
Error
Additive
Additive content ≤5% of total
Error
Nanocomposite
Nanocomposite loading ≤5% of solids
Error
Epoxy-Amine
Curing agent required with epoxy
Error
Nanocomposite
Ultrasonication required
Warning
🖼️ Screenshots
🛠️ Development
Building Executable
Platform
Command
Windows
pyinstaller --onefile --windowed --name NanoCoatBuilder main.py
Linux
pyinstaller --onefile --name NanoCoatBuilder main.py
macOS
pyinstaller --onefile --windowed --name NanoCoatBuilder main.py
Running Tests
python -m pytest tests/
Adding New Ingredients
Edit core/database/ingredient_db.py:
cls . _ingredients [ "New Ingredient" ] = Ingredient (
name = "New Ingredient" ,
category = "resin" , # resin, solvent, pigment, additive, nanocomposite, filler
min_loading_wt = 0 ,
max_loading_wt = 100 ,
properties = ChemicalProperty ( density = 1.0 , cost_per_kg = 10.0 )
)
📋 Changelog
Version
Date
Changes
1.0.2
2026-06
Added LICENSE file
1.0.1
2026-06
Initial PyPI release
👨💻 Author
Oukil Khaled Ibn Elwalid
🙏 Acknowledgments
Tool/Framework
Purpose
Qt for Python (PySide6)
GUI Framework
Matplotlib
Graphing capabilities
Pydantic
Data validation
NumPy
Numerical computations
📜 License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Made with 🔬 for the research community
© 2026 Oukil Khaled Ibn Elwalid
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 .
The dropdown lists show the available interpreters, ABIs, and platforms.
Enable javascript to be able to filter the list of wheel files.
Copy a direct link to the current filters
Copy
File name
Interpreter
Interpreter
py3
ABI
ABI
none
Platform
Platform
any
File details
Details for the file nanocoatbuilder_app-1.0.2.tar.gz.
File metadata
Download URL: nanocoatbuilder_app-1.0.2.tar.gz
Upload date:
Jun 17, 2026
Size: 61.2 kB
Tags: Source
Uploaded using Trusted Publishing? No
Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
Hashes for nanocoatbuilder_app-1.0.2.tar.gz
Algorithm
Hash digest
SHA256
136bd57e4615618d14a489b9b1dca84e4ee57c9cc874fe3b792c4a62e259b7b4
Copy
MD5
a5b52ee330c42f5fdda570e61c2d63d7
Copy
BLAKE2b-256
7adf7a50b038e576c781aecbd5d00ebb3a0af68b57012aeca9f9c91f873e6af8
Copy
See more details on using hashes here.
File details
Details for the file nanocoatbuilder_app-1.0.2-py3-none-any.whl.
File metadata
File hashes
Hashes for nanocoatbuilder_app-1.0.2-py3-none-any.whl
Algorithm
Hash digest
SHA256
b77ebbfe9f14ba758a9a1a3d60ad172abdf99d6459ec83e2d2d298dcbc699187
Copy
MD5
da16434aed20fc61d626395c09c811c3
Copy
BLAKE2b-256
7c52544527ab6554859c3eea6e9e0cfe0b61a6bc9b4e31d8bfc53b4c0a1b0207
Copy
See more details on using hashes here.