QUIP
libAtoms/QUIP molecular dynamics framework: https://libatoms.github.io
File Explorer
Download Latest Version (.zip)- build-wheels.yml
- Build.yml
- quip-docker.yml
- Makefile.altix
- Makefile.altix-mpi
- Makefile.archer2
- Makefile.archer2_mpich
- Makefile.archer2_mpich+openmp
- Makefile.archer2_openmp
- Makefile.bgq_gfortran
- Makefile.bgq_gfortran_fen
- Makefile.cray_xt3
- Makefile.cray_xt3-mpi
- Makefile.csd3_x86_64_gfortran_openmp
- Makefile.darwin_arm64_gfortran
- Makefile.darwin_arm64_gfortran_openmp
- Makefile.darwin_arm64_gfortran_openmpi
- Makefile.darwin_x86_32_gfortran
- Makefile.darwin_x86_64_gfortran
- Makefile.darwin_x86_64_gfortran_openmp
- Makefile.darwin_x86_64_gfortran_openmpi
- Makefile.darwin_x86_64_ifort_icc
- Makefile.Kaiju
- Makefile.linux_x86_32_gfortran
- Makefile.linux_x86_64_gfortran
- Makefile.linux_x86_64_gfortran_CrayXC30
- Makefile.linux_x86_64_gfortran_CrayXC30_mpi
- Makefile.linux_x86_64_gfortran_CrayXE6_mpi
- Makefile.linux_x86_64_gfortran_openmp
- Makefile.linux_x86_64_gfortran_openmpi
- Makefile.linux_x86_64_gfortran_openmpi+openmp
- Makefile.linux_x86_64_gfortran_Sulis
- Makefile.linux_x86_64_gfortran_Sulis_openmp
- Makefile.linux_x86_64_gfortran_Sulis_openmpi
- Makefile.linux_x86_64_ifort_gcc
- Makefile.linux_x86_64_ifort_gcc_openmp
- Makefile.linux_x86_64_ifort_gcc_openmpi
- Makefile.linux_x86_64_ifort_icc
- Makefile.linux_x86_64_ifort_icc_avon_intelmpi
- Makefile.linux_x86_64_ifort_icc_intelmpi+openmp
- Makefile.linux_x86_64_ifort_icc_mpi
- Makefile.linux_x86_64_ifort_icc_openmp
- Makefile.linux_x86_64_ifort_icc_serial
- Makefile.linux_x86_64_nvfortran
- checkcode
- checkuse.py
- coverage_report.py
- find_sizeof_fortran_t
- fix_headers
- fix_sym_links
- gap_prepare_sparsex_input.py
- gitversion
- ipynb2rst.py
- mkdtd.pl
- module_name
- protect_mod
- reorder_xyz.py
- unprotect_mod
- update-authors
- validate.py
- QUIPConfig.cmake.in
- theme_overrides.css
- layout.html
- README
- README
- README.mean_var_correl
- adaptive-qmmm-references.rst
- adaptive-qmmm-solutions.rst
- adaptive-qmmm-step0.rst
- adaptive-qmmm-step1.rst
- adaptive-qmmm-step2.rst
- adaptive-qmmm-step3.rst
- adaptive-qmmm-theory.rst
- adaptive-qmmm.rst
- adglass.rst
- alphaquartz.png
- alphaquartz2.png
- ase-calculators.png
- atomeyerc
- atomistic-vs-continuum.png
- benzene_frames.xyz
- brittle-vs-ductile-microscale.png
- brittle-vs-ductile.png
- buffer-region.png
- CCP5-June-2021.ipynb
- cij.dat
- classical-crack-coordination.png
- classical-crack-sigma-yy-average.png
- classical-crack-sigma-yy.png
- committee_modelling.rst
- crack-hybrid-mark.png
- crack-initial-qm-region.png
- crack-max-bolt-distrib.png
- crack-velo.sh
- crack_slab_1.png
- crack_slab_2.png
- crack_slab_3.png
- elastic.sh
- energy-release-rate-crack-position.png
- energyvolume1.png
- energyvolume2.png
- f90wrap.png
- fixed_mask.png
- forces.png
- GAP_Committee_Test.png
- griffith-criterion.png
- hybrid.png
- hysteresis.png
- index.rst
- irwin-sig-yy.png
- lawn-fracture-silicon.png
- lotf-crack-cluster.png
- lotf-crack-step-1.png
- lotf-crack-step-2.png
- lotf-energy-release-rate-crack-position.png
- lotf-overview.png
- lotf-pred-corr.png
- lotf_check_force_error.png
- make_crack.py
- make_crack_1.py
- make_crack_2.py
- make_crack_coordination.py
- methane.xyz
- multiscale-coupling.png
- multiscale.png
- overview.rst
- params.xml
- potentialenergy.png
- quartz.png
- quartz.xyz
- quartz_0001.png
- quartz_0001.xyz
- quartz_crack.xml
- quartz_crack.xyz
- quartz_crack_bulk.xyz
- quartz_running_crack.png
- quartz_seed_crack.png
- quartz_unit_cell.png
- quip_lammps_example.sh
- quippy-ase-interoperability.rst
- run_crack_classical.py
- run_crack_classical_1.py
- run_crack_lotf.py
- run_crack_lotf_1.py
- run_crack_lotf_2.py
- run_crack_lotf_3.py
- scipy-stack.png
- si-1000.xyz
- si8.png
- si_bulk.png
- sigma_yy.png
- silicon_input_file.lmp
- surface-energy-annealed.sh
- surface-energy-relaxed.sh
- surface-energy.sh
- surface.png
- TB_params.xml
- temperature-crack-position.png
- thin-strip.png
- totalenergy.png
- TS_params.xml
- unit_slab.png
- unit_slab_shifted.png
- velocitydistribution.png
- warwick-logo.png
- WCPM_logo_text.png
- conf.py
- convert.rst
- descriptors.rst
- dictionary.rst
- dynamicalsystem.rst
- favicon.ico
- hybrid.png
- index.rst
- install.rst
- Makefile
- modcontents.py
- potential.rst
- quippy.rst
- system.rst
- video.py
- demo.ipynb
- GAPPotentials.md
- Dockerfile
- cli.py
- convert.py
- descriptors.py
- dynamicalsystem.py
- gap_tools.py
- nye_tensor.py
- potential.py
- doc_plugin.py
- fix_headers
- fix_init_rtld_global.py
- init.py
- install_executables.py
- KIND_MAP
- Makefile
- meson.build
- patch_f90wrap_interfaces.py
- pyproject.toml
- README
- setup.py
- STRING_LENGTHS
- VERSION
- concat_quip_params
- ip.parms.BKS.xml
- ip.parms.BOP.xml
- ip.parms.Brenner.xml
- ip.parms.Brenner_2002.xml
- ip.parms.Brenner_Screened.xml
- ip.parms.Coulomb.xml
- ip.parms.DispTS.CH-example.xml
- ip.parms.EAM_ErcolAd.xml
- ip.parms.Einstein.xml
- ip.parms.FB.xml
- ip.parms.FC.filled_FSM_cf.xml
- ip.parms.FS.xml
- ip.parms.Glue.xml
- ip.parms.Glue_CaCd.xml
- ip.parms.LJ.xml
- ip.parms.Morse.CoSb3_CompMatSci_44.xml
- ip.parms.RS.xml
- ip.parms.Si_MEAM.xml
- ip.parms.Sutton_Chen.xml
- ip.parms.SW.xml
- ip.parms.SW_Si_H_DFTB_elastic.xml
- ip.parms.SW_SiC_CASTEP_elastic.xml
- ip.parms.SW_SiC_DFTB_elastic.xml
- ip.parms.SW_VP.xml
- ip.parms.Template.xml
- ip.parms.Tersoff.xml
- ip.parms.TS.xml
- k_pt_mesh.data.xml
- self_consistency.data.xml
- tightbind.parms.Bowler.xml
- tightbind.parms.GSP.BOP0.xml
- tightbind.parms.NRL_TB.Al_PRB_61.xml
- tightbind.parms.NRL_TB.Cu_unpub99.xml
- tightbind.parms.NRL_TB.CuAu.xml
- tightbind.parms.NRL_TB.Fe_paramag.xml
- tightbind.parms.NRL_TB.Fe_spinpol.xml
- tightbind.parms.NRL_TB.Mo.xml
- tightbind.parms.NRL_TB.Pb.xml
- tightbind.parms.NRL_TB.Si.xml
- tightbind.parms.NRL_TB.Ti_PRB_73.xml
- tightbind.parms.NRL_TB.W.xml
- tightbind.parms.NRL_TB.W_new.xml
- bcc.xyz
- bcc_sc.xyz
- beta_Sn.xyz
- dia.xyz
- dia_sc.xyz
- fcc.xyz
- fcc_100.xyz
- fcc_110.xyz
- fcc_111.xyz
- fcc_111_rect.xyz
- fcc_sc.xyz
- hcp.xyz
- hcp_ortho.xyz
- Makefile
- NaCl.xyz
- sc.xyz
- sh.xyz
- skutterudite_filled.xyz
- skutterudite_filled_sc.xyz
- skutterudite_unfilled.xyz
- skutterudite_unfilled_cubic.xyz
- trigonal.xyz
- zinc_blende.xyz
- castep_driver.sh
- example.cell
- example.param
- split_castep_log
- cghost_tcm
- ckill
- ckill_tcm
- cqstat
- cqstat_tcm
- crun
- crun_tcm
- csub
- csub_tcm
- cs_active
- cs_config
- cs_hosts
- castep_server
- get_job_status
- get_new_job_id
- qdel
- qstat
- qstat.awk
- qsub
- qsubw
- species_count
- status
- stop
- submit
- BASIS_SET
- charmm.pot
- cp2k_input.inp
- job.benchmark.qmmm_big.sge
- out.bench_mana.gfortran.16p
- out.bench_mana.gfortran.32p
- out.bench_mana.intel.16p
- out.bench_mana.intel.32p
- POTENTIAL
- quip-frc-1.xyz.bench_mana.gfortran.16p
- quip-frc-1.xyz.bench_mana.gfortran.32p
- quip-frc-1.xyz.bench_mana.intel.16p
- quip-frc-1.xyz.bench_mana.intel.32p
- quip.wfn
- quip_cp2k.psf
- quip_cp2k.xyz
- BASIS_SET
- charmm.pot
- cp2k_input.inp
- job.benchmark.qmmm_small.sge
- POTENTIAL
- quip.wfn
- quip_cp2k.psf
- quip_cp2k.xyz
- force_diff
- time_diff
- all_res.CHARMM.lib
- charmm.pot
- cp2k_input.template
- exyz.CHARMM.xyz
- PSF_GENERATION
- quip_cp2k.psf
- README
- run.sh
- silica_water_NVT_new-1.ener
- silica_water_NVT_new-1.temp
- silica_water_NVT_new-dump-1.pdb
- silica_water_NVT_new-dump-1.psf
- silica_water_NVT_new-frc-1.xyz
- silica_water_NVT_new-frc-1.xyz_ref
- silica_water_NVT_new-frc-1.xyz_ref_before2010-04-09
- silica_water_NVT_new-pos-1.xyz
- silica_water_NVT_new-vel-1.xyz
- silica_water_NVT_new.inp
- silica_water_NVT_new.out
- silica_water_NVT_new.out_ref
- silica_water_NVT_new.out_ref_before2010-04-09
- charmm.pot_ext
- cp2k.inp
- cp2k.out_ref
- dopa_A_water_quartz.psf
- dopa_A_water_quartz.xyz
- nvt-frc-1.xyz_ref
- README
- restart.rst
- run.sh
- aala.xyz
- all_res.CHARMM.lib
- BASIS_SET
- charmm.pot
- charmm.pot.nonbonded_1_4_scale
- charmm.pot.nonbonded_1_4_scale_methyl_chloride
- charmm.pot.nonbonded_1_4_scale_silica
- charmm.pot_methyl_chloride
- charmm.pot_silica
- cp2k_colvar_restraint_constraint_print.patch
- cp2k_colvar_restraint_constraint_print_new.patch
- cp2k_exyz.patch.OUTDATED
- cp2k_exyz_new.patch
- cp2k_fft_lib.patch
- cp2k_input.template
- cp2k_input.template2
- cp2k_input_silica_bks.template
- cp2k_motion_utils.F.patch
- cp2k_npt_y_new.patch
- cp2k_reftraj.patch
- cp2k_silica.patch
- cp2k_silica_example.inp
- cp2k_silica_new.patch
- cp2k_speed.patch
- cp2k_speed.patch.outdated
- cp2k_speed_new.patch
- cp2k_topology_pdb.F.patch.OUTDATED
- cp2k_wfn_read.patch
- diala_zw.xyz
- examples.sh
- H2O32_300K.xyz
- link.template
- make_current_diffs
- MM_POTENTIAL
- patch_cp2k_silica.sh
- POTENTIAL
- qmlist.dat
- README
- reference_test_silica.tar.gz
- top_all22_prot_cmap.inp
- profess.inpt.template
- profess.ion.template
- profess_driver.py
- patch.REFTRAJ.vasp.4.6
- patch.REFTRAJ.vasp.5.2.12
- patch.REFTRAJ.vasp.5.lib
- cp2k_driver.F90
- cp2k_driver_module.F90
- cp2k_driver_old.F90
- cp2k_filepot_old.F90
- dbop_driver.sh
- dl_poly_driver.sh
- evb_driver.F90
- Makefile
- molpro_driver.sh
- vasp_driver.F90
- alphashape.cpp
- angular_functions.F90
- Atoms.F90
- Atoms_ll.F90
- Atoms_types.F90
- Barostat.F90
- CInOutput.F90
- clusters.F90
- Connection.F90
- Constraints.F90
- COPYRIGHT
- cutil.c
- Dictionary.F90
- DomainDecomposition.F90
- DynamicalSystem.F90
- error.F90
- error.inc
- ExtendableStr.F90
- f90wrap_stub.F90
- find_surface_atoms.F90
- frametools.F90
- gamma_functions.F90
- Group.F90
- histogram1d.F90
- histogram2d.F90
- intro.tex
- k_means_clustering.F90
- kind_module.F90
- lbfgs.F
- libAtoms.F90
- libatoms.h
- libAtoms_misc_utils.F90
- libAtoms_utils_no_module.F90
- linearalgebra.F90
- LinkedList.F90
- lobpcg.F90
- make_thermo_baro_algorithm_docs
- Makefile
- malloc.c
- Matrix.F90
- md5.c
- md5.h
- meson.build
- minimal_md.F90
- minimization.F90
- MPI_context.F90
- netcdf.c
- nye_tensor.F90
- ParamReader.F90
- partition.F90
- PeriodicTable.F90
- protein_res.CHARMM.lib
- Quaternions.F90
- README
- RigidBody.F90
- ringstat.F90
- ScaLAPACK.F90
- sockets.c
- SocketTools.F90
- Sparse.F90
- Spline.F90
- statistics.F90
- steinhardt_nelson_qw.F90
- Structures.F90
- System.F90
- Table.F90
- task_manager.F90
- test_gamma.F90
- thermo_baro_algorithm.tex
- Thermostat.F90
- Topology.F90
- Units.F90
- xyz.c
- AdjustablePotential.F90
- ApproxFermi.F90
- CallbackPot.F90
- COPYRIGHT
- ElectrostaticEmbed.F90
- error.inc
- Ewald.F90
- FilePot.F90
- Functions.F90
- ginted.F
- intro.tex
- IP.F90
- IPEwald.F90
- IPModel_ASAP.F90
- IPModel_BOP.F90
- IPModel_BornMayer.F90
- IPModel_Brenner.F90
- IPModel_Brenner_2002.F90
- IPModel_Brenner_Screened.F90
- IPModel_CH4.F90
- IPModel_ConfiningMonomer.F90
- IPModel_Coulomb.F90
- IPModel_Custom.F90
- IPModel_DispTS.F90
- IPModel_EAM_Ercolessi_Adams.F90
- IPModel_Einstein.F90
- IPModel_FB.F90
- IPModel_FC.F90
- IPModel_FC4.F90
- IPModel_FS.F90
- IPModel_FX.F90
- IPModel_GAP.F90
- IPModel_Glue.F90
- IPModel_HFdimer.F90
- IPModel_interface.h
- IPModel_KIM.F90
- IPModel_LinearSOAP.F90
- IPModel_LJ.F90
- IPModel_LMTO_TBE.F90
- IPModel_MBD.F90
- IPModel_Morse.F90
- IPModel_MTP.F90
- IPModel_Multipoles.F90
- IPModel_PartridgeSchwenke.F90
- IPModel_RS.F90
- IPModel_SCME.F90
- IPModel_Si_MEAM.F90
- IPModel_Spring.F90
- IPModel_Sutton_Chen.F90
- IPModel_SW.F90
- IPModel_SW_VP.F90
- IPModel_Template.F90
- IPModel_Tersoff.F90
- IPModel_Tether.F90
- IPModel_TS.F90
- IPModel_TTM_nF.F90
- IPModel_TTM_nF.f90
- IPModel_vdW.F90
- IPModel_WaterDimer_Gillan.F90
- IPModel_WaterTrimer_Gillan.F90
- IPModel_ZBL.F90
- Makefile
- meson.build
- Multipole_Interactions.F90
- Multipoles.F90
- Partridge_Schwenke_Dipole.F90
- Potential.F90
- Potential_Cluster_header.F90
- Potential_Cluster_routines.F90
- Potential_EVB_header.F90
- Potential_EVB_routines.F90
- Potential_ForceMixing_header.F90
- Potential_ForceMixing_routines.F90
- Potential_Hybrid_utils.F90
- Potential_Local_E_Mix_header.F90
- Potential_Local_E_Mix_routines.F90
- Potential_ONIOM_header.F90
- Potential_ONIOM_routines.F90
- Potential_Precon_Minim.F90
- Potential_simple.F90
- Potential_Sum_header.F90
- Potential_Sum_routines.F90
- QC_QUIP_Wrapper.F90
- QUIP_Common.F90
- quip_lammps_wrapper.F90
- QUIP_module.F90
- quip_unified_wrapper.F90
- README
- RS_SparseMatrix.F90
- SK_SO_vogl.h
- SK_vogl.h
- SKd_vogl.h
- SocketPot.F90
- TB.F90
- TB_Common.F90
- TB_GreensFunctions.F90
- TB_Kpoints.F90
- TB_Mixing.F90
- TBMatrix.F90
- TBModel.F90
- TBModel_Bowler.F90
- TBModel_DFTB.F90
- TBModel_GSP.F90
- TBModel_interface.h
- TBModel_NRL_TB.F90
- TBModel_NRL_TB_defs.F90
- TBSystem.F90
- TO_DO
- Yukawa.F90
- flow-chart.eps
- loading.eps
- Makefile
- qm-selection-crack.eps
- cxyzreader.f95
- domdecomp_example.f95
- lj_example.f95
- lotf_metapot.f95
- lotf_time.f95
- lotf_time_metapot.f95
- lotfpc_metapot.f95
- md.xyz
- md_example.f95
- README
- align.F90
- analytical_free_E_UI.F90
- analyze_md_phonons.F90
- basin_exploration.F90
- bulktest.F90
- calc_n_poles.F90
- callback_test.F90
- Constraints_Demo.F90
- crack.F90
- crack.xml
- create_hybrid_cluster.F90
- descriptors_wrapper_example.F90
- DFTB_to_xml.F90
- error.inc
- eval_server.sh
- FC_to_xml.F90
- fgp.F90
- fix_traj_latest.F90
- get_qw.F90
- GF_SC_notes.tex
- kp_mesh.py
- local_E_fd.F90
- local_random_search.F90
- lotf_params.xml
- Makefile
- mark_hybrid.F90
- md.F90
- md_gid.F90
- meson.build
- metapot_test.F90
- NRL_TB_to_xml.F90
- order_atoms_as_molecules.F90
- parallel_io_test.F90
- QMMM_md_buf.F90
- quip.F90
- quip_wrapper_example.F90
- quip_wrapper_simple_example.F90
- quip_wrapper_simple_example_C.c
- randomise_calc.F90
- README
- rotate.F90
- SC_notes.tex
- slice_sample.F90
- socktest.F90
- socktest2.F90
- tabletest.F90
- test_angular.F90
- test_CASTEP_MM_buffer_crack.F90
- test_CASTEP_water_bulk.F90
- test_CASTEP_water_chain.F90
- test_cova.F90
- test_dimer.F90
- test_grad_sphericals.F90
- test_task_manager.F90
- TO_DO
- ts_calculation.F90
- vacancy_map.F90
- vacancy_map_forcemix_relax.F90
- vacancy_map_hybrid_generate.F90
- vacancy_map_hybrid_relax.F90
- vacancy_map_mod.F90
- water_dimer_mayer.F90
- water_dimer_mc.F90
- wrap.F90
- xyz_to_SPECSYM_forces.F90
- xyz_to_SPECSYM_start.F90
- angle_distr.F90
- clean_traj.F90
- convert.F90
- coordination_number.F90
- decimate.F90
- density.F90
- density_1d.F90
- density_KDE.F90
- density_new.F90
- diffusion.F90
- elastic_fields.F90
- extract_cv.F90
- extract_EVB.F90
- file_rewrite.F90
- find_space_minim.F90
- histogram_process.F90
- make_bulk_supercell.F90
- make_k_mesh.F90
- make_surface_slab_vasp.F90
- Makefile
- mean_var_correl.F90
- mean_var_decorrelated_err.F90
- merge_traj.F90
- move_displacement_field.F90
- msd_vibrations.F90
- nc2movie
- rdfd.F90
- rings.F90
- solvate.F90
- solvate_silica.F90
- structure_analysis_traj.F90
- temperature_by_kind
- test_ran.F90
- UI_integrate.F90
- vel_power_spectrum
- xyz2ecfg.awk
- xyz2movie
- xyz2pdb.F90
- xyz2residue_library.F90
- crackparams.F90
- cracktools.F90
- elasticity.F90
- error.inc
- force_machine_learning_module.F90
- Makefile
- meson.build
- phonons.F90
- real_space_covariance.F90
- restraints_constraints_xml.F90
- structure_analysis_traj_routines.F90
- transition_state.F90
- ts_params.F90
- fox
- GAP
- meson.build
- test_md.sh
- test_md_velo.sh
- py3_test.inc
- GAP.xml
- GAP.xml.sparseX.GAP_2018_10_7_60_14_59_24_9701
- GAP.xml.sparseX.GAP_2018_10_7_60_14_59_24_9702
- GAP.xml.sparseX.GAP_2018_10_7_60_14_59_24_9703
- gap_sample.xyz
- glue.xml
- Makefile
- old_test_elastic.py
- old_test_potential.py
- quippytest.py
- run_all.py
- Si.distance_2b.uniform.json
- Si.np1.xyz
- Si.np2.xyz
- Si.soap.cur_points.json
- Si.two_descriptors.json
- SiC.distance_2b.uniform.json
- SiC.np1.xyz
- SiC.np2.xyz
- SOAP_reference_data.json
- SW_pot.xml
- test_converter.py
- test_descriptor.py
- test_dynamicalsystem.py
- test_filepot.py
- test_fox_xml_errors.py
- test_gapfit.py
- test_gappot.py
- test_neighbour_list.py
- test_nye_tensor.py
- test_pot.py
- test_potential_cell.py
- test_quip.sh
- test_shell_scripts.py
- test_SOAP.py
- test_sumpot.py
- test_symbol_resolution.py
- test_task_manager.sh
- test_xyz_6vector.sh
- Makefile.inc
- Makefile.nogap.inc
- trigger_quip_docker.sh
- .gitattributes
- .gitignore
- .gitmodules
- CITATION.cff
- CLAUDE.md
- Makefile
- Makefile.config
- Makefile.fox
- Makefile.rules
- meson.build
- meson.options
- README.md
# Installation Guide
git clone https://github.com/libAtoms/QUIP
Downloads the entire project code from GitHub to your computer.
cd QUIP
Moves into the project folder you just downloaded.
2. Official Install Script
Easy Recommended- Python 3 Python is required to use pip.
pip install quippy-ase
Installs the package published on PyPI directly โ no need to clone the source.
pip install 'f90wrap>=0.3.0'
Installs the package published on PyPI directly โ no need to clone the source.
pip install uv
Installs the package published on PyPI directly โ no need to clone the source.
pip install .
Installs the package published on PyPI directly โ no need to clone the source.
Pulled directly from this repo's README.
3. Docker
Easy- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker build -f docker/Dockerfile -t quip .
Builds a runnable image based on the Dockerfile.
docker run -p 8080:80 quip
Runs the built image as an actual container.
4. Python
Easypip install quippy-ase
Installs the package published on PyPI directly โ no need to clone the source.
pip install 'f90wrap>=0.3.0'
Installs the package published on PyPI directly โ no need to clone the source.
pip install uv
Installs the package published on PyPI directly โ no need to clone the source.
uv pip install 'f90wrap>=0.3.0'
Installs the Python libraries listed in requirements.txt (or similar).
uv pip install numpy ase meson ninja
Installs the Python libraries listed in requirements.txt (or similar).
Pulled directly from this repo's README.
5. Make
Medium- Git Needed to download the project code from GitHub.
- Make Usually pre-installed on Linux/macOS. On Windows, install separately (e.g. via MSYS2 or WSL).
make distclean
Compiles the code based on the generated build configuration to produce an executable.
Pulled directly from this repo's README.
