semvec/pypi-packages huggingface dataset:
geninstaller 2.2.2
Linux universal app installer and manager, in the user's space only
Requires Python: >=3.10
Keywords: install, installer, geninstaller, linux

# Geninstaller (for linux)

_Universal linux installer system_
Installs applications in the user's space.

**please read the changelog** at the bottom.

Geninstaller is usually stable, but if you have some issue with geninstaller, try to completely uninstall it and re-install a newer version.

## For developers and common users

### Installation

```
$ pipx install geninstaller
```

### Common users
The applications installed with **geninstaller** are registrated in a small database.
The easiest way to list or uninstall them is to install the gui first:
```
$ geninstaller gui
```
Now you have 'Geninstaller gui' in your system's programs (system), use it as any application.

You can still use the CLI if you want

List the installed applications:

```
$ geninstaller list
```
uninstall your geninstaller applications:
```
$ geninstaller uninstall 'application name'
```
And other stuff, see:
```
$ geninstaller --help
```

### Developers

#### Get an 'installer' template
```
$ geninstaller plop installer
```
Geninstaller provides you an 'installer' file in your current working directory, you can join it to your projects. You just have to open it and change a few settings to adapt it to your application (the comments in the file will guide you).

The installer script is in python, but works for any kind of program to install.

Behind this, the 'installer' script will take care of the requirements, and install the geninstaller database on the system.

#### Limitation (and gain)
Geninstaller only installs applications in the user's space (no sudo required), the gain is that it makes it compatible with any linux distibution. So, if your application needs to be installed 'system wide', geninstaller is not the tool that you need.

#### How to completely remove Geninstaller ?

[follow this steps](doc/uninstalling_geninstaller.md)


## Changelog
- 2.2.0: possibility to choose a specific version of python WITH limitations (you shouldn't need to ever do that unless you know exactly why)
- 2.1.2: bugfix gui uninstall doesn't work with ubuntu 22.04
- 2.1.0:
    - pre/post installation scripts and pre uninstall script are working
- 2.0.9:
    - fixed a bug in the installer's error messages (if missing pipx or geninstaller)
- 2.0.8:
    - fixed a bug in the installer with python > 3.12
- 2.0.7:
    - now works with python 3.10+
- 2.0.6:
    - geninstaller's folder is now ~/.local/share/geninstaller-applications and not ~/.local/share/applications-files anymore
- 2.0.0:
    - BROKEN (should not work on new install, please uninstall and upgrade to 2.0.5)
    - python version issue: works only with python 3.12+
    - Geninstaller 2 is NOT compatible with the previous Geninstaller, please remove the former one (pip uninstall geninstaller) before using version 2.x.x
    - geninstaller uses no more third party dependencies.
    - python programs are installed with their own virtual env when they require third party libs.
    - geninstaller should be installed with 'pipx install geninstaller'.
gwlearn 0.1.1
Geographically weighted modeling based on scikit-learn.
Requires Python: >=3.11

# gwlearn

[![Continuous Integration](https://github.com/pysal/gwlearn/actions/workflows/testing.yml/badge.svg)](https://github.com/pysal/gwlearn/actions/workflows/testing.yml)
[![codecov](https://codecov.io/gh/pysal/gwlearn/branch/main/graph/badge.svg)](https://codecov.io/gh/pysal/gwlearn)
[![PyPI version](https://badge.fury.io/py/gwlearn.svg)](https://badge.fury.io/py/gwlearn)
[![Conda Version](https://img.shields.io/conda/vn/conda-forge/gwlearn.svg)](https://anaconda.org/conda-forge/gwlearn)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18173180.svg)](https://doi.org/10.5281/zenodo.18173180)
[![Discord](https://img.shields.io/badge/Discord-join%20chat-7289da?style=flat&logo=discord&logoColor=cccccc&link=https://discord.gg/BxFTEPFFZn)](https://discord.gg/BxFTEPFFZn)
[![SPEC 0 — Minimum Supported Dependencies](https://img.shields.io/badge/SPEC-0-green?labelColor=%23004811&color=%235CA038)](https://scientific-python.org/specs/spec-0000/)

Geographically weighted modeling based on `scikit-learn`.

The aim of the package is to provide implementations of spatially-explicit modelling.

## Features

`gwlearn` provides a framework for prototyping geographically weighted extensions of
regression and classification models based on `scikit-learn` and `libpysal.graph` and a
subset of models implemented on top of this framework. For example, you can run
geographically weighted linear regression in a following manner.

```py
import geopandas as gpd
from geodatasets import get_path

from gwlearn.linear_model import GWLinearRegression


gdf = gpd.read_file(get_path('geoda.guerry'))

adaptive = GWLinearRegression(
    bandwidth=25,
    fixed=False,
    kernel='bisquare'
)
adaptive.fit(
    gdf[['Crm_prp', 'Litercy', 'Donatns', 'Lottery']],
    gdf["Suicids"],
    geometry=gdf.representative_point(),
)
```

For details, see the [documentation](https://pysal.org/gwlearn).

## Status

Current development status is beta. The core API of the package should not change
without a warning and a proper deprecation cycle. However, minor breaking changes may
still occur.

## Installation

You can install gwlearn from PyPI or from conda-forge using the tool of your choice:

```sh
pip install gwlearn
```

Or from conda-forge:

```sh
conda install gwlearn -c conda-forge
```

## Bug reports

To search for or report bugs, please see the
[Github issue tracker](https://github.com/pysal/gwlearn/issues).

## Get in touch

If you have a question regarding `gwlearn`, feel free to open an issue or join a chat on
[Discord](https://discord.gg/he6Y8D2ap3).

## License

The package is licensed under BSD 3-Clause License (Copyright (c) 2025, Martin
Fleischmann & PySAL Developers)

## Funding

<img src="https://github.com/pysal/gwlearn/raw/refs/heads/main/docs/source/_static/UK-logo-square-EN.svg" width="200" alt="Charles University logo">

Charles University’s Primus programme through the project "Influence of Socioeconomic and Cultural Factors on Urban Structure in Central Europe", project reference `PRIMUS/24/SCI/023`.
github-activity 1.1.5
Grab recent issue/PR activity from a GitHub repository and render it as markdown.
Requires Python: >=3.9
Keywords: Development, Changelog

# github-activity

[![continuous-integration](https://github.com/executablebooks/github-activity/actions/workflows/tests.yaml/badge.svg)](https://github.com/executablebooks/github-activity/actions/workflows/tests.yaml)

Generate markdown changelogs for GitHub repositories with more control over types of contributions and metadata used to create the changelogs.

For an example, see the [changelog of this package](<[https://](https://github-activity.readthedocs.io/en/latest/changelog)>).

See [the GitHub Activity Documentation](https://github-activity.readthedocs.io) for our documentation.

## Install and use this tool

Install and use this tool via the command line like so:

```bash
pip install github-activity
github-activity [<org>/<repo>] --since <date or ref> --until <date or ref>
```

See [the GitHub Activity Documentation](https://github-activity.readthedocs.io) for our documentation.

## Contribute to this package

See [the Contributing Guide for more details](https://github-activity.readthedocs.io/en/latest/contribute).
asyncio-dgram 3.0.0
Higher level Datagram support for Asyncio
Requires Python: >=3.9
Keywords: asyncio, datagram, udp

[![Build Status](https://github.com/jsbronder/asyncio-dgram/actions/workflows/weekly.yml/badge.svg)](
https://github.com/jsbronder/asyncio-dgram/actions/workflows/weekly.yml)

# Higher level Datagram support for Asyncio
Simple wrappers that allow you to `await read()` from datagrams as suggested
by Guido van Rossum
[here](https://github.com/python/asyncio/pull/321#issuecomment-187022351).  I
frequently found myself having to inherit from `asyncio.DatagramProtocol` and
implement this over and over.

# Design
The goal of this package is to make implementing common patterns that use datagrams
simple and straight-forward while still supporting more esoteric options.  This is done
by taking an opinionated stance on the API that differs from parts of asyncio.  For instance,
rather than exposing a function like
[create\_datagram\_endpoint](https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.loop.create_datagram_endpoint)
which supports many use-cases and has conflicting parameters, `asyncio_dgram`
only provides three functions for creating a stream:

- `connect((host, port))`: Creates a datagram endpoint which can only
  communicate with the endpoint it connected to.
- `bind((host, port))`: Creates a datagram endpoint that can communicate
  with anyone, but must specify the destination address every time it
  sends.
- `from_socket(sock)`: If the above two functions are not sufficient, then
  `asyncio_dgram` simply lets the caller setup the socket as they see fit.


# Example UDP echo client and server
Following the example of asyncio documentation, here's what a UDP echo client
and server would look like.
```python
import asyncio

import asyncio_dgram


async def udp_echo_client():
    stream = await asyncio_dgram.connect(("127.0.0.1", 8888))

    await stream.send(b"Hello World!")
    data, remote_addr = await stream.recv()
    print(f"Client received: {data.decode()!r}")

    stream.close()


async def udp_echo_server():
    stream = await asyncio_dgram.bind(("127.0.0.1", 8888))

    print(f"Serving on {stream.sockname}")

    data, remote_addr = await stream.recv()
    print(f"Echoing {data.decode()!r}")
    await stream.send(data, remote_addr)

    await asyncio.sleep(0.5)
    print(f"Shutting down server")


def main():
    loop = asyncio.get_event_loop()
    loop.run_until_complete(asyncio.gather(udp_echo_server(), udp_echo_client()))


if __name__ == "__main__":
    main()
```