-
Notifications
You must be signed in to change notification settings - Fork 0
Description
This package is thought as an addition or replacement for PeriodicTable.jl using the data from mendeleev python package.
Though work-in-progress yet, in it's current state it can already be used as a plug-in replacement for PeriodicTable.jl. The package installable code is based mostly on the PeriodicTable.jl code, but the Element_M struct code and the data (the files Element_M_def.jl and elements_data.jl resp.) are generated by a separate module from the SQLite database which was shamelessly taken from mendeleev -- @lmmentel, thank you for your work!
The Number, Symbol & Name indexing of ELEMENTS_M are the same as in PeriodicTable, the elements representation the same, too. All fields of PeriodicTable Element
are supported, in addition to some 60+ fields from mendeleev - see mendeleev documentation . mendeleev database is actively maintained, and the data seem to be taken over from reliable sources. Updating Mendeleev.jl from the database is a matter of running a script.
The compiled code is static like in PeriodicTable, and using Mendeleev
takes just 0.5 s on my modest i5 Notebook (0.13 s with PeriodicTable pre-loaded, thus further improvement possible), and takes 15 s for pre-compile during the installation.
I have started the package just for fun and as an excersise in Julia. Now - what can we do with it?
- It can be merged into PeriodicTable
- Or it can be a separate package within JuliaPhysics
- Or it can just stay with me as the author and maintainer.
In the last case I may announce it, but I am not sure about registering the package.
Now I would humbly ask the PeriodicTable.jl author and contributors for their opinion. @rahulkp220, @carstenbauer, @Gregstrq, @stevengj - what do you think?
@Gregstrq - you data collection on isotopes could be put into a package in a similar way. And if somebody (@lmmentel ? 😉 ) imports your collection into a database, a corresponding Julia package can be created based on the code of this package at a minimal cost.