![Python package](https://github.com/WagnerGroup/pyqmc/workflows/Python%20package/badge.svg)
[![Documentation Status](https://readthedocs.org/projects/pyqmc/badge/?version=latest)](https://pyqmc.readthedocs.io/en/latest/?badge=latest)

## PyQMC

A python module that implements real-space quantum Monte Carlo techniques. It is primarily meant to interoperate with PySCF. Documentation is available at [readthedocs](https://pyqmc.readthedocs.io/en/latest/).


=======
Resolwe
=======

|build| |coverage| |docs| |black| |pypi_version| |pypi_pyversions| |pypi_downloads|

.. |build| image:: https://github.com/genialis/resolwe/workflows/Resolwe%20CI/badge.svg?branch=master
    :target: https://github.com/genialis/resolwe/actions?query=branch%3Amaster
    :alt: Build Status

.. |coverage| image:: https://img.shields.io/codecov/c/github/genialis/resolwe/master.svg
    :target: http://codecov.io/github/genialis/resolwe?branch=master
    :alt: Coverage Status

.. |docs| image:: https://readthedocs.org/projects/resolwe/badge/?version=latest
    :target: http://resolwe.readthedocs.io/
    :alt: Documentation Status

.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
    :target: https://github.com/psf/black
    :alt: Code Style Black

.. |pypi_version| image:: https://img.shields.io/pypi/v/resolwe.svg
    :target: https://pypi.org/project/resolwe
    :alt: Version on PyPI

.. |pypi_pyversions| image:: https://img.shields.io/pypi/pyversions/resolwe.svg
    :target: https://pypi.org/project/resolwe
    :alt: Supported Python versions

.. |pypi_downloads| image:: https://pepy.tech/badge/resolwe
    :target: https://pepy.tech/project/resolwe
    :alt: Number of downloads from PyPI

Resolwe is an open source dataflow package for `Django framework`_. We envision
Resolwe to follow the `Common Workflow Language`_ specification, but the
current implementation does not yet fully support it. Resolwe offers a complete
RESTful API to connect with external resources. A collection of bioinformatics
pipelines is available in `Resolwe Bioinformatics`_.

.. _Django framework: https://www.djangoproject.com/
.. _Common Workflow Language: https://github.com/common-workflow-language/common-workflow-language
.. _Resolwe Bioinformatics: https://github.com/genialis/resolwe-bio

Docs & Help
===========

Read about architecture, getting started, how to write `processes`, RESTful API
details, and API Reference in the documentation_.

To chat with developers or ask for help, join us on Slack_.

.. _documentation: http://resolwe.readthedocs.io/
.. _Slack: http://resolwe.slack.com/

Install
=======

Prerequisites
-------------

Resolwe runs on Python_ 3.6 or later If you don't have it yet, follow `these
instructions <https://docs.python.org/3/using/index.html>`__.

It's easiest to run other required services in Docker containers If you don't
have it yet, you can follow the `official Docker tutorial`_ for Mac and for
Windows or install it as a distribution's package in most of standard Linux
distributions (Fedora, Ubuntu,...).

.. _Python: https://www.python.org/
.. _official Docker tutorial: https://docs.docker.com/get-started/

Using PyPI_
-----------

.. code::

    pip install resolwe

.. _PyPI: https://pypi.org/

Using source on GitHub_
-----------------------

.. code::

   pip install https://github.com/genialis/resolwe/archive/<git-tree-ish>.tar.gz

where ``<git-tree-ish>`` can represent any commit SHA, branch name, tag name,
etc. in `Resolwe's GitHub repository`_. For example, to install the latest
Resolwe from the ``master`` branch, use:

.. code::

   pip install https://github.com/genialis/resolwe/archive/master.tar.gz

.. _`Resolwe's GitHub repository`: https://github.com/genialis/resolwe/
.. _GitHub: `Resolwe's GitHub repository`_

Contribute
==========

We welcome new contributors. To learn more, read Contributing_ section of our
documentation.

.. _Contributing: http://resolwe.readthedocs.io/en/latest/contributing.html


![auspex](doc/images/Auspex-Small.png)
<!-- [![build status](https://qiplab.bbn.com/ci/projects/1/status.png?ref=master)](https://qiplab.bbn.com/ci/projects/1?ref=master) -->
![Build](https://github.com/bbn-q/Auspex/workflows/Python%20Package%20using%20Conda/badge.svg?branch=develop) [Documentation on Github Pages](https://bbn-q.github.io/Auspex/)

Auspex, the AUtomated System for Python-based EXperiments, is a framework for performing laboratory measurements. Auspex was developed by a group that primarily performs measurements on superconducting qubits and magnetic memory elements, but its underpinnings are sufficiently general to allow for extension to arbitrary equipment and experiments. Using several layers of abstraction, we attempt to meet the following goals:

1. Instrument drivers should be easy to write.
1. Measurement code should be flexible and reusable.
1. Data acquisition and processing should be pipelined, asynchronous, and reconfigurable.
1. Experiments should be adaptive, not always pre-defined.

## Features ##

1. Easy driver specification using metaprogramming.
1. Fast multiprocessing pipeline for digitizer (or other) data.
1. Tight integration with QGL for quantum experiment definition.
1. Qubit calibration routines.
1. Run within Jupyter notebooks.
1. Easy pipeline specification and graphical display of pipelines.
1. Separate zmq/matplotlib plotting clients for local or remote use.
1. Custom high-performance file format (numpy mmaps) with full data axis descriptors and metadata.

Regrettably in-notebook plotting is difficult to implement for more than simple 1D sweeps. Notebook caching and
javascript interface limitations make returning large amounts of data impractical. Final plots
may be displayed

## Documentation ##
Full documentation can be found at [readthedocs](http://auspex.readthedocs.io/en/latest/).

## Funding ##

This software is based in part upon work supported by the Office of the Director
of National Intelligence (ODNI), Intelligence Advanced Research Projects
Activity (IARPA), via contract W911NF-14-C0089 and Army Research Office contract
No. W911NF-14-1-0114. The views and conclusions contained herein are those of
the authors and should not be interpreted as necessarily representing the
official policies or endorsements, either expressed or implied, of the ODNI,
IARPA, or the U.S. Government.


# pyAFQ
Automated Fiber Quantification ... in Python.

For details, see [Documentation](https://yeatmanlab.github.io/pyAFQ)

For further analysis of results, see [AFQ-Insight](https://github.com/richford/AFQ-Insight)

## Citing _pyAFQ_

If you use _pyAFQ_ in a scientific publication, please cite our paper:

Kruper, J., Yeatman, J. D., Richie-Halford, A., Bloom, D., Grotheer, M., Caffarra, S., Kiar, G., Karipidis, I. I., Roy, E., Chandio, B. Q., Garyfallidis, E., & Rokem, A.
[Evaluating the Reliability of Human Brain White Matter Tractometry](https://doi.org/10.52294/e6198273-b8e3-4b63-babb-6e6b0da10669).
DOI:10.52294/e6198273-b8e3-4b63-babb-6e6b0da10669

```
@article {Kruper2021-xb,
  title     = "Evaluating the reliability of human brain white matter
               tractometry",
  author    = "Kruper, John and Yeatman, Jason D and Richie-Halford, Adam and
               Bloom, David and Grotheer, Mareike and Caffarra, Sendy and Kiar,
               Gregory and Karipidis, Iliana I and Roy, Ethan and Chandio,
               Bramsh Q and Garyfallidis, Eleftherios and Rokem, Ariel",
  journal   = "Apert Neuro",
  publisher = "Organization for Human Brain Mapping",
  volume    =  1,
  number    =  1,
  month     =  nov,
  year      =  2021,
  doi       =  10.52294/e6198273-b8e3-4b63-babb-6e6b0da10669,
}
```


# Mission Pinball website & documentation

This repo contains all the source code for [MissionPinball.org](https://missionpinball.org), which also includes all user documentation.

## Technical details

The MPF website is built using [MkDocs](http://www.mkdocs.org/), a static
site generator using Markdown files as the source. It uses the
[Material for MkDocs](https://squidfunk.github.io/mkdocs-material/) theme.

The site is hosted on GitHub Pages, and the `main` branch of this repo controls
what's published to the live site. A [GitHub workflow](https://github.com/missionpinball/mpf-docs/blob/main/.github/workflows/deploy.yml) is used to automatically
build and deploy the site whenever a commit or merge is made to the `main` branch.
You can see the commits and page builds in the [Actions tab](https://github.com/missionpinball/mpf-docs/actions).

## To build / run locally

1. Clone the repo
2. Open a terminal window and `cd` into the root folder of this repo
3. `pip install -r requirements.txt` (to install mkdocs and what it needs)
4. `mkdocs serve` (runs a local web server on port 8000)

You should be able to access the doc site via your web browser at `localhost:8000`.

## To contribute

We would love contributions to the docs! We have a Contributing Guide ([view on GitHub](https://github.com/missionpinball/mpf-docs/blob/main/docs/about/help_docs.md) | [view on the website](https://missionpinball.org/about/help_docs/))
which explains how to contribute.

## Configuring site navigation

All the navigation for the site is configured in the `mkdocs.yml` file. This
is somewhat annoying since it means that if you add a new page, you have to
go to a completely separate place to set up the nav.

I tried to use the auto pages plugin to automatically
create the navigation, and/or at least keep it local to each subfolder, but
unfortunately our navigation tree is different from our folder hierarchy which
made that not possible. We may be able to combine both methods, and this is
something someone could look into.

## Script to build the showcase pages

The MPF project showcase is published at [missionpinball.org/showcase](https://missionpinball.org/showcase/).
The source content for each showcase entry are YAML files [`/showcase`](https://github.com/missionpinball/mpf-docs/tree/main/showcase) folder of this repo. The script [`generate_showcase_pages.py`](https://github.com/missionpinball/mpf-docs/blob/main/build_tools/generate_showcase_pages.py) generates the .md files for each project, and also generates the showcase index
page.

This script is run automatically as part of the GitHub Actions workflow.


.. image:: https://eodag.readthedocs.io/en/latest/_static/eodag_bycs.png
    :target: https://github.com/CS-SI/eodag

|

.. |pypi-badge| image:: https://badge.fury.io/py/eodag.svg
    :target: https://badge.fury.io/py/eodag

.. |conda-badge| image:: https://img.shields.io/conda/vn/conda-forge/eodag
    :target: https://anaconda.org/conda-forge/eodag

.. |rtd-badge| image:: https://readthedocs.org/projects/eodag/badge/?version=latest&style=flat
    :target: https://eodag.readthedocs.io/en/latest/

.. |gha-badge| image:: https://github.com/CS-SI/eodag/actions/workflows/test.yml/badge.svg
    :target: https://github.com/CS-SI/eodag/actions

.. |ghi-badge| image:: https://img.shields.io/github/issues/CS-SI/eodag.svg
    :target: https://github.com/CS-SI/eodag/issues

.. |binder-badge| image:: https://mybinder.org/badge_logo.svg
    :target: https://mybinder.org/v2/git/https%3A%2F%2Fgithub.com%2FCS-SI%2Feodag.git/master?filepath=docs%2Fnotebooks%2Fintro_notebooks.ipynb

|pypi-badge| |conda-badge| |rtd-badge| |gha-badge| |ghi-badge| |binder-badge|

|

.. |license-badge| image:: https://img.shields.io/pypi/l/eodag.svg
    :target: https://pypi.org/project/eodag/

.. |versions-badge| image:: https://img.shields.io/pypi/pyversions/eodag.svg
    :target: https://pypi.org/project/eodag/

|license-badge| |versions-badge|

|

..

    Checkout **EODAG Jupyterlab extension**: `eodag-labextension <https://github.com/CS-SI/eodag-labextension>`_!
    This will bring a friendly UI to your notebook and help you search and browse for EO products using ``eodag``.

EODAG (Earth Observation Data Access Gateway) is a command line tool and a plugin-oriented Python framework for searching,
aggregating results and downloading remote sensed images while offering a unified API for data access regardless of the
data provider. The EODAG SDK is structured around three functions:

* List product types: list of supported products and their description

* Search products (by product type or uid) : searches products according to the search criteria provided

* Download products : download product “as is"

EODAG is developed in Python. It is structured according to a modular plugin architecture, easily extensible and able to
integrate new data providers. Three types of plugins compose the tool:

* Catalog search plugins, responsible for searching data (OpenSearch, CSW, ...), building paths, retrieving quicklook,
  combining results

* Download plugins, allowing to download and retrieve data locally (via FTP, HTTP, ..), always with the same directory
  organization

* Authentication plugins, which are used to authenticate the user on the external services used (JSON Token, Basic Auth, OAUTH, ...).

Since v2.0 EODAG can be run as `STAC client or server <https://eodag.readthedocs.io/en/latest/stac.html>`_.

Read `the documentation <https://eodag.readthedocs.io/en/latest/>`_ for more insights.

.. image:: https://raw.githubusercontent.com/CS-SI/eodag/develop/docs/_static/eodag_overview.png
   :alt: EODAG overview
   :class: no-scaled-link

Installation
============

EODAG is available on `PyPI <https://pypi.org/project/eodag/>`_:

.. code-block:: bash

   python -m pip install eodag

And with ``conda`` from the `conda-forge channel <https://anaconda.org/conda-forge/eodag>`_:

.. code-block:: bash

   conda install -c conda-forge eodag

Please note that EODAG comes with a minimal set of dependencies. If you want more features, please install using one of
the `available extras <https://eodag.readthedocs.io/en/latest/getting_started_guide/install.html#optional-dependencies>`_.

Usage
=====

For downloading you will need to fill your credentials for the desired providers in your
`eodag user configuration file <https://eodag.readthedocs.io/en/latest/getting_started_guide/configure.html>`_.
The file will automatically be created with empty values on the first run.

Python API
----------

Example usage for interacting with the api in your Python code:

.. code-block:: python

    from eodag import EODataAccessGateway

    dag = EODataAccessGateway()

    search_results = dag.search(
        productType='S2_MSI_L1C',
        geom={'lonmin': 1, 'latmin': 43.5, 'lonmax': 2, 'latmax': 44}, # accepts WKT polygons, shapely.geometry, ...
        start='2021-01-01',
        end='2021-01-15'
    )

    product_paths = dag.download_all(search_results)

This will search for Sentinel 2 level-1C products on the default provider and return the found products first page and
an estimated total number of products matching the search criteria. And then it will download these products. Please
check the `Python API User Guide <https://eodag.readthedocs.io/en/latest/api_user_guide.html>`_ for more details.

STAC REST API
-------------

An eodag instance can be exposed through a STAC compliant REST api from the command line:

.. code-block:: bash

    $ eodag serve-rest --help
    Usage: eodag serve-rest [OPTIONS]

      Start eodag HTTP server

      Set EODAG_CORS_ALLOWED_ORIGINS environment variable to configure Cross-
      Origin Resource Sharing allowed origins as comma-separated URLs (e.g.
      'http://somewhere,htttp://somewhere.else').

    Options:
      -f, --config PATH   File path to the user configuration file with its
                          credentials, default is ~/.config/eodag/eodag.yml
      -l, --locs PATH     File path to the location shapefiles configuration file
      -d, --daemon        run in daemon mode
      -w, --world         run uvicorn using IPv4 0.0.0.0 (all network interfaces),
                          otherwise bind to 127.0.0.1 (localhost).
      -p, --port INTEGER  The port on which to listen  [default: 5000]
      --debug             Run in debug mode (for development purpose)
      --help              Show this message and exit.

    # run server
    $ eodag serve-rest

    # list available product types for ``peps`` provider:
    $ curl "http://127.0.0.1:5000/collections?provider=peps" | jq ".collections[].id"
    "S1_SAR_GRD"
    "S1_SAR_OCN"
    "S1_SAR_SLC"
    "S2_MSI_L1C"
    "S2_MSI_L2A"

    # search for items
    $ curl "http://127.0.0.1:5000/search?collections=S2_MSI_L1C&bbox=0,43,1,44&datetime=2018-01-20/2018-01-25" \
    | jq ".numberMatched"
    6

    # browse for items
    $ curl "http://127.0.0.1:5000/catalogs/S2_MSI_L1C/country/FRA/year/2021/month/01/day/25/cloud_cover/10/items" \
    | jq ".numberMatched"
    9

    # get download link
    $ curl "http://127.0.0.1:5000/catalogs/S2_MSI_L1C/country/FRA/year/2021/month/01/day/25/cloud_cover/10/items" \
    | jq ".features[0].assets.downloadLink.href"
    "http://127.0.0.1:5000/catalogs/S2_MSI_L1C/country/FRA/year/2021/month/01/day/25/cloud_cover/10/items/S2A_MSIL1C_20210125T105331_N0209_R051_T31UCR_20210125T130733/download"

    # download
    $ wget "http://127.0.0.1:5000/catalogs/S2_MSI_L1C/country/FRA/year/2021/month/01/day/25/cloud_cover/10/items/S2A_MSIL1C_20210125T105331_N0209_R051_T31UCR_20210125T130733/download"

``eodag-server`` is available on `https://hub.docker.com/r/csspace/eodag-server <https://hub.docker.com/r/csspace/eodag-server>`_:

.. code-block:: bash

    docker run -p 5000:5000 --rm csspace/eodag-server:2.12.1

You can also browse over your STAC API server using `STAC Browser <https://github.com/radiantearth/stac-browser>`_.
Simply run:

.. code-block:: bash

    git clone https://github.com/CS-SI/eodag.git
    cd eodag
    docker-compose up
    # or for a more verbose logging:
    EODAG_LOGGING=3 docker-compose up

And browse http://127.0.0.1:5001:

.. image:: https://raw.githubusercontent.com/CS-SI/eodag/develop/docs/_static/stac_browser_example_600.png
   :target: https://raw.githubusercontent.com/CS-SI/eodag/develop/docs/_static/stac_browser_example.png
   :alt: STAC browser example
   :width: 600px

For more information, see `STAC REST API usage <https://eodag.readthedocs.io/en/latest/stac_rest.html>`_.

Command line interface
----------------------

Start playing with the CLI:

- To search for some products::

     eodag search --productType S2_MSI_L1C --box 1 43 2 44 --start 2021-03-01 --end 2021-03-31

  The request above searches for ``S2_MSI_L1C`` product types in a given bounding box, in March 2021. It saves the results in a GeoJSON file (``search_results.geojson`` by default).

  Results are paginated, you may want to get all pages at once with ``--all``, or search products having 20% of maximum coud cover with ``--cloudCover 20``. For more information on available options::

     eodag search --help

- To download the result of the previous call to search::

     eodag download --search-results search_results.geojson

- To download only the result quicklooks of the previous call to search::

     eodag download --quicklooks --search-results search_results.geojson

- To list all available product types and supported providers::

     eodag list

- To list available product types on a specified supported provider::

     eodag list -p creodias

- To see all the available options and commands::

     eodag --help

- To print log messages, add ``-v`` to eodag master command. e.g. ``eodag -v list``. The more ``v`` given (up to 3), the more verbose the tool is. For a full verbose output, do for example: ``eodag -vvv list``

Contribute
==========

Have you spotted a typo in our documentation? Have you observed a bug while running EODAG?
Do you have a suggestion for a new feature?

Don't hesitate and open an issue or submit a pull request, contributions are most welcome!

For guidance on setting up a development environment and how to make a
contribution to eodag, see the `contributing guidelines`_.

.. _contributing guidelines: https://github.com/CS-SI/eodag/blob/develop/CONTRIBUTING.rst

License
=======

EODAG is licensed under Apache License v2.0.
See LICENSE file for details.

Authors
=======

EODAG has been created by `CS GROUP - France <https://www.csgroup.eu/>`_.

Credits
=======

EODAG is built on top of amazingly useful open source projects. See NOTICE file for details about those projects and
their licenses.
Thank you to all the authors of these projects!


# My Python Eggs 🐍 😄

I do not consider myself as a programmer. I create these little programs as experiments to play with Python, or to solve problems for myself. I would gladly accept pointers from others to improve, simplify, or make the code more efficient. If you would like to make any comments then please feel free to email me: craig@geekcomputers.co.uk.

This repository contains a collection of Python scripts that are designed to reduce human workload and serve as educational examples for beginners to get started with Python. The code documentation is aligned correctly for viewing in [Notepad++](https://notepad-plus-plus.org/) :spiral_notepad:

Feel free to explore the scripts and use them for your learning and automation needs!

## List of Scripts:

1. [batch_file_rename.py](https://github.com/geekcomputers/Python/blob/master/batch_file_rename.py) - Batch rename a group of files in a specified directory, changing their extensions.
2. [create_dir_if_not_there.py](https://github.com/geekcomputers/Python/blob/master/create_dir_if_not_there.py) - Check if a directory exists in the user's home directory. Create it if it doesn't exist.
3. [Fast Youtube Downloader](https://github.com/geekcomputers/Python/blob/master/youtubedownloader.py) - Download YouTube videos quickly with parallel threads using aria2c.
4. [Google Image Downloader](https://github.com/geekcomputers/Python/tree/master/Google_Image_Downloader) - Query a given term and retrieve images from the Google Image database.
5. [dir_test.py](https://github.com/geekcomputers/Python/blob/master/dir_test.py) - Test if the directory `testdir` exists. If not, create it.
6. [env_check.py](https://github.com/geekcomputers/Python/blob/master/env_check.py) - Check if all the required environment variables are set.
7. [blackjack.py](https://github.com/Ratna04priya/Python/blob/master/BlackJack_game/blackjack.py) - Casino Blackjack-21 game in Python.
8. [fileinfo.py](https://github.com/geekcomputers/Python/blob/master/fileinfo.py) - Show file information for a given file.
9. [folder_size.py](https://github.com/geekcomputers/Python/blob/master/folder_size.py) - Scan the current directory and all subdirectories and display their sizes.
10. [logs.py](https://github.com/geekcomputers/Python/blob/master/logs.py) - Search for all `*.log` files in a directory, zip them using the specified program, and date stamp them.
11. [move_files_over_x_days.py](https://github.com/geekcomputers/Python/blob/master/move_files_over_x_days.py) - Move all files over a specified age (in days) from the source directory to the destination directory.
12. [nslookup_check.py](https://github.com/geekcomputers/Python/blob/master/nslookup_check.py) - Open the file `server_list.txt` and perform nslookup for each server to check the DNS entry.
13. [osinfo.py](https://github.com/geekcomputers/Python/blob/master/osinfo.py) - Display information about the operating system on which the script is running.
14. [ping_servers.py](https://github.com/geekcomputers/Python/blob/master/ping_servers.py) - Ping the servers associated with the specified application group.
15. [ping_subnet.py](https://github.com/geekcomputers/Python/blob/master/ping_subnet.py) - Scan the final range of a given IP subnet for available addresses.
16. [powerdown_startup.py](https://github.com/geekcomputers/Python/blob/master/powerdown_startup.py) - Ping machines in the server list. Load the putty session if the machine is up, or notify if it is not.
17. [puttylogs.py](https://github.com/geekcomputers/Python/blob/master/puttylogs.py) - Zip all the logs in the given directory.
18. [script_count.py](https://github.com/geekcomputers/Python/blob/master/script_count.py) - Scan the scripts directory and count the different types of scripts.
19. [get_youtube_view.py](https://github.com/geekcomputers/Python/blob/master/get_youtube_view.py) - Get more views for YouTube videos and repeat songs on YouTube.
20. [script_listing.py](https://github.com/geekcomputers/Python/blob/master/script_listing.py) - List all files in a given directory and its subdirectories.
21. [testlines.py](https://github.com/geekcomputers/Python/blob/master/testlines.py) - Open a file and print out 100 lines of the set line variable.
22. [tweeter.py](https://github.com/geekcomputers/Python/blob/master/tweeter.py) - Tweet text or a picture from the terminal.
23. [serial_scanner.py](https://github.com/geekcomputers/Python/blob/master/serial_scanner.py) - List available serial ports in use on Linux and Windows systems.
24. [get_youtube_view.py](https://github.com/geekcomputers/Python/blob/master/get_youtube_view.py) - Get more views for YouTube videos and repeat songs on YouTube.
25. [CountMillionCharacter.py](https://github.com/geekcomputers/Python/blob/master/CountMillionCharacter.py) and [CountMillionCharacter2.0](https://github.com/geekcomputers/Python/blob/master/CountMillionCharacters-2.0.py) - Get character count of a text file.
26. [xkcd_downloader.py](https://github.com/geekcomputers/Python/blob/master/xkcd_downloader.py) - Download the latest XKCD comic and place them in a new folder called "comics".
27. [timymodule.py](https://github.com/geekcomputers/Python/blob/master/timymodule.py) - An alternative to Python's 'timeit' module and easier to use.
28. [calculator.py](https://github.com/geekcomputers/Python/blob/master/calculator.py) - Implement a calculator using Python's eval() function.
29. [Google_News.py](https://github.com/geekcomputers/Python/blob/master/Google_News.py) - Use BeautifulSoup to provide latest news headlines along with news links.
30. [cricket_live_score](https://github.com/geekcomputers/Python/blob/master/Cricket_score.py) - Use BeautifulSoup to provide live cricket scores.
31. [youtube.py](https://github.com/geekcomputers/Python/blob/master/youtube.py) - Take a song name as input and fetch the YouTube URL of the best matching song and play it.
32. [site_health.py](https://github.com/geekcomputers/Python/blob/master/site_health.py) - Check the health of a remote server.
33. [SimpleStopWatch.py](https://github.com/geekcomputers/Python/blob/master/SimpleStopWatch.py) - Simple stop watch implementation using Python's time module.
34. [Changemac.py](https://github.com/geekcomputers/Python/blob/master/changemac.py) - Change your MAC address, generate a random MAC address, or enter input as a new MAC address on Linux (Successfully Tested in Ubuntu 18.04).
35. [whatsapp-monitor.py](https://github.com/geekcomputers/Python/blob/master/whatsapp-monitor.py) - Use Selenium to give online status updates about your contacts in WhatsApp on the terminal.
36. [whatsapp-chat-analyzer.py](https://github.com/subahanii/whatsapp-Chat-Analyzer) - WhatsApp group/individual chat analyzer that visualizes chat activity using matplotlib.
37. [JARVIS.py](https://git.io/fjH8m) - Control Windows programs with your voice.
38. [Images Downloader](https://git.io/JvnJh) - Download images from webpages on Unix-based systems.
39. [space_invader.py.py](https://github.com/meezan-mallick/space_invader_game) - Classical 2D space invader game to recall your childhood memories.
40. [Test Case Generator](https://github.com/Tanmay-901/test-case-generator/blob/master/test_case.py) - Generate different types of test cases with a clean and friendly UI, used in competitive programming and software testing.
41. [Extract Thumbnail From Video](https://github.com/geekcomputers/Python/tree/ExtractThumbnailFromVideo) - Extract Thumbnail from video files
42. [How to begin the journey of open source (first contribution)](https://www.youtube.com/watch?v=v2X51AVgl3o) - First Contribution of open source

_**Note**: The content in this repository belongs to the respective authors and creators. I'm just providing a formatted README.md for better presentation._