An application based on Python and designed as a solution for geology related daily work.
Switch branches/tags
Nothing to show
Clone or download
Latest commit 2095146 Oct 10, 2018

Title: Introduction Date: 2018-04-21 15:15:13 Category: Doc Tags: Doc,English

Welcome to GeoPyTool

Build Status


I am Freddy Yu, also known as CycleUser. A few years ago, I had tumor and some other lifelong diseases, and lost the ability to engage in geological field work. I hate to be a useless person and hope to contribute to other people and the world. I began programming, and learned Python by translating a text book called "Think Python 2 edition" to Chinese. After translating Think Python 2 edition, I translated Kivy Document, CS229 notes from Stanford University and STA663 notes from Duke University. I publish all my translation works on Github as open source projects.

After I began using Python, people have been asking me for help to write code to solve geological research problems.

I gathered these scripts together, built a GUI and packed them into a standalone application, which was originally called GeoPython and later renamed GeoPyTool because of the former name had been taken by a conference.

That is the story of how GeoPyTool was born.


GeoPyTool is an application based on Python and designed as a solution for geology related daily work. It can run on almost all mainstream operating systems, such as Windows 7 SP1, Windows 8, Windows 10, macOS Sierra, macOS High Sierra, Ubuntu Linux, Debian Linux, Fedora Linux, and alomost all other widely used desktop platforms.

GeoPyTool doesn't rely on any other software, such as MS Excel or CorelDraw, it can directly transport your data into the plot as vector graphic files and the calculation results into data sheets such as Xlsx or CSV files.

GeoPyTool contains both traditional routines and newly developed methods. Over time, this software will contain more and more functions. The function list can be found here.


GeoPyTool now is an open source project under the GNU General Public License v3.0. It is a free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

In simple terms, you can use, share and modify it for free, under the same terms of GPLv3.

Bug Report

Any program may have one or many bugs, including GeoPyTool. I am not a programming expert, so I will inevitably make mistakes. I am open minded and happy to solve problems after being told the details about bugs you find.

If you find bugs but don’t tell me where how that happens, then I'm helpless. If you don’t provide any detailed information and just blaming me, then I’m deeply hurt. Please do not repeat "many bugs many bugs" without feedback, as that make very frustrated and in for a long period of pain and self-reproach.

I need your help to find out where the bugs locate and how they happen. I need to know the version of GeoPyTool that has these bugs. I might also need a piece of your data file that triggers the bugs. If you find a bug, I am happy to hear the details and fix it as soon as possible.

Please open an issue in GeoPyTool's repo.


If you want a new function, please tell us, and open an issue in GeoPyTool's repo containing references and sample data. It's best to give a brief introduction, which can save developers' time. If you don't understand how the new function works at all, don't expect us to figure it out by ourselves. I am certainly not smarter than you.

Get GeoPyTool

This section used to be called "Installation". While, in fact you almost need no Installation to use the packed application of GeoPyTool. The latest download links can be found at the Download page.

If you want to use GeoPyTool as a module inside Python, then you might need to read the detailed guide at Installation Guide For Expert.

For Mac Users

On macOS, GeoPyTool is extremely easy to use. There is no need to touch the SIP(System Integrity Protection) at all. Please leave a message if you encounter different situations, and include the version of your operating system.

I have tried this on several brand new Mac machines.

Just download and unzip the packed file, then double click on the file, you will find the APP available as the following picture shows.

To Update the, you need to go to the location inside the app file, Double click on this file named UpDateGeoPytool at As the following screenshot shows:

It will update the GeoPyTool inside your file. Do not modify any files directly under the same folder unless you are an expert on dealing with Python.

For Windows Users

On Windows 8/8.1/10, GeoPyTool is also extremely easy to use. Just download and unzip the file, then double click on a bat file in the unzipped folder, and make sure that you don't delete any file from the unzipped folder because they are all required by the program, then you will find the APP available as the following picture shows.

To use GeoPyTool on Windows 7, some system patches need to be installed. You need to install the SP1 of Windows and then install KB2999226 and the Visual C++ Redistributable 2015. If you are using Windows 7 without the SP1 package installed, there might comes anapi-ms-win-crtrelated error. Install these patched below:

The SP1 package of Windows 7 can be found at the official website of MicroSoft.

The installation packages of KB2999226 and the Visual C++ Redistributable 2015 are already contained in the Zip file of GeoPyTool for Windows, and can also be found here: 32 bit Windows764 bit WInodws7 . So if you encounter any api-ms-win-crtrelated errors, please check those installations first.

If you are using Windows XP or Vista, sorry, I do not have the time or ability to save the systems that Microsoft has abandoned.

For Linux Users

Awesome, man, good for you. You are a Linux user? So am I. Then I believe that you are completely capable of using pip to complete the installation under the terminal. There is no need to download a large and bloated package file.

Read the Installation Guide For Expert if you need some reference information.

Data Templates

Latest Data File Templates are at DataFileSamples.

Settings.xlsx shows you the meaning and effects of those setting up information contained in other data templates.

Geochemistry functions in GeoPyTool use Geochemistry.xlsx. Structure geology functions use Structure.xlsx. Other functions also have their corresponding data template files.

Please follow the data templates, and try pasting your data into a copied data template file.

Blank Data

Sorry, I can not make decision for you on how to treat the blanks in your data. Maybe you want to replace blank with zeros or some random values, or maybe you want to draw a flower in your data file with those blanks. But I cannot make your choice, and neither can GeoPyTool. The program will only ignore those blanks.

Blanks can not be used in matrix calculation and data fitting, that is how math works. Please don't blame me for your lack of data.


A detailed demonstration can be found at Demonstration.



GeoPyTool offer three choices for format of generated figure, which are PDF, SVG, and PNG. PDF and SVG are both vector graphic formats, while PNG is not.

Adjusting Axes of Figure

There is a menubar on almost all interface of GeoPyTool that generating figures, which can be used to modify and adjust your picture, such as modifying the axis range and axis scale, etc.

As shown in the picture below:

Please do not blame me for not giving enough options to control your plots without even trying to use these menu bar.

Result Sheets

GeoPyTool has some calculating related functions, result sheets generated by which can be saved as CSV or Excel files. The CSV in fact is just a form of plain text, which can be edited by almost any editor.

Support Us

If you want to support GeoPyTool and you also use WeChat, please scan the following QR code to reward us. I can use this money to pay for medical expenses to stay healthy and add more functions to GeoPyTool.

Please cite this article as: Yu, Q.-Y., Bagas, L., Yang, P.-H., Zhang, D., GeoPyTool: a cross-platform software solution for common geological calculations and plots, Geoscience Frontiers (2018), doi: 10.1016/j.gsf.2018.08.001.