Giter Club home page Giter Club logo

maintenance's Introduction

Fatiando a Terra

Website | Documentation | Gallery | Docs (development version) | Mailing list

Latest version on PyPI Travis CI build status AppVeyor build status Test coverage status Code health report by landscape.io doi:10.5281/zenodo.157746

Disclaimer

Fatiando is under active development and we are still changing the API between releases. Names will change and functions will move as we improve our design. You might have to update your scripts and notebooks to get the latest features from a new release.

Please bear with us.

Overview

Our goal is provide a comprehensive and extensible framework for geophysical data analysis and the development of new methodologies.

Research: Make your research more reproducible by writing a Python script or Jupyter notebook instead of clicking through complicated menus.

Development: Don't start from scratch! Build upon the existing tools in Fatiando to develop new methods.

Teaching: Combine Fatiando with the Jupyter notebook to make rich, interactive documents. Great for teaching fundamental concepts of geophysics!

Getting started

  1. Install Fatiando and its dependencies.
  2. Browse the Gallery for examples of what Fatiando can do.
  3. Take a look at the rest of the Documentation for more information about the library.
  4. Get involved in the community and see how you can help in our Contributor Guide.

Contributing and asking for help

Subscribe to our Google Groups mailing list to stay informed and ask for help: groups.google.com/d/forum/fatiando

We'll post updates to the list about new releases and features, events, and future plans for the project. Get involved to help us shape the project and make it even better!

Another option for reaching out and reporting bugs is to open an issue on Github.

We have an open development process where everything is discussed through Github issues. Anyone can comment and give feedback. See our Roadmap for v1.0 to get a feeling for where the project is headed. Your input is welcome!

Supporting

If you use Fatiando in your research, please cite it in your publications as:

Uieda, L., V. C. Oliveira Jr, and V. C. F. Barbosa (2013), Modeling the Earth with Fatiando a Terra, Proceedings of the 12th Python in Science Conference, pp. 91 - 98.

Please also cite the method papers of individual functions/classes. References are available in the documentation of each module/function/class.

See the CITATION.rst file or the Citing section of the docs for more information.

You can also show your support by buying a sticker from Stickermule. We don't make any money from the sales but it helps spread the word about the project.

License

Fatiando a Terra is free software: you can redistribute it and/or modify it under the terms of the BSD 3-clause License. A copy of this license is provided in LICENSE.txt.

maintenance's People

Contributors

leouieda avatar santisoler avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

maintenance's Issues

Extend support for Python 3.9

Description

Extend support of all our libraries to Python 3.9. This involves:

  1. Adding CI jobs with Python 3.9 so we know things work. This usually only involves adding "3.9" to the list of Python versions in the configuration files.
  2. Add the 3.9 tag to setup.py

Apply changes to

Libraries:

Other repositories:

Further instructions

In order to solve this issue we need to start opening Pull Requests on each
repository listed above. Optionally, we can open Issues on each repository if
further discussion specific to that repository is needed.

Remember to mention this Issue on every Issue or Pull Request opened on each
repository for keeping a record by adding something like:

Related to fatiando/maintenance#XX

A quick checklist:

  1. Open an Issue on each repository listed above (optional). Mention this Issue
    on them.
  2. Open a Pull Request on the same repository to tackle the Issue. Mention this
    Issue on them.
  3. Check-off the repository on the list above once the Pull Request is merged.
  4. Close this issue when all items are checked-off.

We want your help

We know that maintenance tasks are very demanding, so we don't expect a single
person to tackle this issue by themselves. Any help is very welcomed, so please
comment below that you want to take care of the changes on any repository and
we will assign it to you.

Add license and copyright notice to all source files

Description

We need to add a copyright notice and license information (name and terms) to every .py file. This can be found in the LICENSE files of each repository. The notice should be put in a comment at the top of the files:

# Copyright (c) YEAR The PROJECT Developers.
# Distributed under the terms of the BSD 3-Clause License.
# SPDX-License-Identifier: BSD-3-Clause
#
# This code is part of the Fatiando a Terra project (https://www.fatiando.org)
#

This is how MetPy does it.

I never thought that this was a big deal but I have since changed my mind. A couple of months ago I came across this repository: https://github.com/igp-gravity/geoist. Shockingly, it includes most files from fatiando/fatiando and fatiando/verde without any mention or attribution. Some files even go so far as to claim authorship for the code (for example, the old code for coordinate generation). I have opened igp-gravity/geoist#7 to raise the issue of violation of our license terms and got a reply but so far nothing has happened. I don't particularly mind them reusing the fatiando/fatiando code since we're not updating it anymore but I was really bothered by the lack of attribution and copying Verde.

The package seems to include a whole bunch of code from other people just blatantly copied, some with the copyright and attribution intact (at least they didn't remove existing notices). This is what prompted this maintenance task. If we had the notice on our files, some of the bad feelings this generated might have been avoided. Though copying code instead of linking (importing) from active projects like Verde is generally frowned upon, it's prohibited by open-source licenses.

Apply changes to

Libraries:

Other repositories:

Further instructions

In order to solve this issue we need to start opening Pull Requests on each
repository listed above. Optionally, we can open Issues on each repository if
further discussion specific to that repository is needed.

Remember to mention this Issue on every Issue or Pull Request opened on each
repository for keeping a record by adding something like:

Related to fatiando/maintenance#XX

A quick checklist:

  1. Open an Issue on each repository listed above (optional). Mention this Issue
    on them.
  2. Open a Pull Request on the same repository to tackle the Issue. Mention this
    Issue on them.
  3. Check-off the repository on the list above once the Pull Request is merged.
  4. Close this issue when all items are checked-off.

We want your help

We know that maintenance tasks are very demanding, so we don't expect a single
person to tackle this issue by themselves. Any help is very welcomed, so please
comment below that you want to take care of the changes on any repository and
we will assign it to you.

Use only the year of first publication in license files

Description

Our license files mostly state a year range for the copyright notice. This seems to be unnecessary: https://softwareengineering.stackexchange.com/questions/130478/what-copyright-date-for-an-update-to-an-open-source-project-from-last-year

We can remove the second part, leaving only the year of first publication in the file. That will also keep us from having to update this all the time.

Apply changes to

Libraries:

Other repositories:

Further instructions

In order to solve this issue we need to start opening Pull Requests on each
repository listed above. Optionally, we can open Issues on each repository if
further discussion specific to that repository is needed.

Remember to mention this Issue on every Issue or Pull Request opened on each
repository for keeping a record by adding something like:

Related to fatiando/maintenance#XX

A quick checklist:

  1. Open an Issue on each repository listed above (optional). Mention this Issue
    on them.
  2. Open a Pull Request on the same repository to tackle the Issue. Mention this
    Issue on them.
  3. Check-off the repository on the list above once the Pull Request is merged.
  4. Close this issue when all items are checked-off.

We want your help

We know that maintenance tasks are very demanding, so we don't expect a single
person to tackle this issue by themselves. Any help is very welcomed, so please
comment below that you want to take care of the changes on any repository and
we will assign it to you.

Replace all CIs for GitHub Actions

Description of the desired feature

After last community call, we decided to move all our automated CIs to GitHub Actions.
Actions work faster than Travis and Azure with much easier configuration, specially for deployment and key managements.
The visualization of the processes is also better because it's integrated into GitHub, including also errors raising on the workflow configuration file, which makes much easier to debug the workflows.

Currently Pooch has already made the change, so we need to do the same on:

Feel free to open PRs on each repository and ping this issue on it.

Use nox instead of the Makefile

Description

Nox is a tool that automates setting up virtual environments and running tasks inside them. It's a combination of make and virtual environments. Replace the machinery in our Makefile (which wouldn't work on Windows) with a cross-platform noxfile.py. Since nox handles the virtual environments, the environment.yml only needs to have python and nox. Plus, the environment creation code in the CI is no necessary anymore and we can run tests on multiple python versions locally as well.

This was tested in fatiando/boule#59 and seems to work very well.

Apply changes to

Libraries:

Further instructions

In order to solve this issue we need to start opening Pull Requests on each
repository listed above. Optionally, we can open Issues on each repository if
further discussion specific to that repository is needed.

Remember to mention this Issue on every Issue or Pull Request opened on each
repository for keeping a record by adding something like:

Related to fatiando/maintenance#XX

A quick checklist:

  1. Open an Issue on each repository listed above (optional). Mention this Issue
    on them.
  2. Open a Pull Request on the same repository to tackle the Issue. Mention this
    Issue on them.
  3. Check-off the repository on the list above once the Pull Request is merged.
  4. Close this issue when all items are checked-off.

We want your help

We know that maintenance tasks are very demanding, so we don't expect a single
person to tackle this issue by themselves. Any help is very welcomed, so please
comment below that you want to take care of the changes on any repository and
we will assign it to you.

Replace versioneer for setuptools-scm

Description

The new setuptools-scm allows to obtain the Semver version of any library through VCS by just installing the setuptools-scm package through pip or conda and then adding some configuration lines on the files used to install the library.
We were already doing the same thing through versioneer, although it needed us to copy and paste some large files that don't get automatic updates.

I've already experimented with the replacement on Harmonica, so please take a look at fatiando/harmonica#196 before implementing the same changes on every library.

We know that maintenance tasks are very demanding, so we don't expect a single
person to tackle this issue by themselves. Any help is very welcomed, so please
comment below that you want to take care of the changes on any repository and
we will assign it to you.

Apply changes to

Libraries:

Further instructions

In order to solve this issue we need to start opening Pull Requests on each
repository listed above. Optionally, we can open Issues on each repository if
further discussion specific to that repository is needed.

Remember to mention this Issue on every Issue or Pull Request opened on each
repository for keeping a record by adding something like:

Related to fatiando/maintenance#4

A quick checklist:

  1. Open an Issue on each repository listed above (optional). Mention this Issue
    on them.
  2. Open a Pull Request on the same repository to tackle the Issue. Mention this
    Issue on them.
  3. Check-off the repository on the list above once the Pull Request is merged.
  4. Close this issue when all items are checked-off.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.