# pyufunc

<img src="https://github.com/xyluo25/pyufunc/blob/main/docs/static/img/pyufunc_icon.jpg" >

Welcome to pyufunc, your go-to Python package for a wide array of frequently used utility functions. Simplify your coding experience with this powerful toolkit, meticulously designed to enhance your productivity and streamline your development process. Whether you're a seasoned developer or just starting with Python, pyufunc provides a curated collection of utilities that cater to your everyday programming needs.

Pyufunc aims to bring together the most commonly used utility functions from different libraries and provide them in a single, cohesive package. By consolidating utility functions from multiple sources, pyufunc simplifies the process of finding and integrating various utility libraries into your projects. It provides a centralized resource for accessing a diverse set of utility functions, ultimately saving time and effort.

🎉️ 🎉️

**If you discover useful functions that you believe should be included in the package for broader use, or if you have suggestions for additional utility functions, please share your comments here: https://github.com/xyluo25/pyufunc/issues.**

🎉️ 🎉️

## Key Features

1. **Intuitive and Easy-to-Use:** Simplicity is at the core of pyufunc's design. Every utility function is thoughtfully documented, making it easy for developers of all skill levels to integrate them seamlessly into their projects. Whether you're working on a small script or a large-scale application, pyufunc enhances your code without adding complexity.
2. **Modularity and Extensibility:** pyufunc is structured with modularity in mind. Each utility function is a standalone entity, allowing you to cherry-pick the ones you need without introducing unnecessary dependencies. Furthermore, the package is designed to be extensible, making it effortless to contribute your own utility functions and enrich the community.
3. **Robust Collection of Utility Functions:** pyufunc offers a versatile assortment of utility functions, carefully crafted and thoroughly tested to meet industry standards. The package covers diverse domains, including data manipulation, file handling, string operations, mathematical functions, and much more.
4. **Regular Updates and Maintenance:** Our team is dedicated to providing regular updates, ensuring that pyufunc remains compatible with the latest Python releases and industry best practices. We actively welcome community feedback and continually refine the package to meet developers' evolving requirements.
5. **Time and Effort Savings:** With pyufunc, you can avoid reinventing the wheel by leveraging pre-existing, widely used utility functions. This saves you time and effort in writing custom utility functions and allows you to focus on the core aspects of your project.

Let pyufunc take care of the repetitive tasks while you focus on building remarkable Python applications. Empower your projects with the efficiency and elegance that comes with pyufunc - your all-inclusive Python utility toolkit. Happy coding!

🚀️ **No dependencies will be installed to your coding environment unless use of functions that need certain dependency**

🚀️ **Don't worry! the function will automatically install required package when you use it.**

## Existing Utility Functions Categorized by Functionality

- [utility_function_by_category.md](https://github.com/xyluo25/pyufunc/blob/main/docs/md_files/utility_function_by_category.md)

## Existing Utility Functions Categorized by Keywords

- [utility_function_by_keyword.md](https://github.com/xyluo25/pyufunc/blob/main/docs/md_files/utility_function_by_keyword.md)

## Quick Tutorial

### Install pyufunc

pip install

```python
pip install pyufunc
```

### Import package

```python
import pyufunc as pf
```

### General use (show existing utility functions)

```python
import pyufunc as pf

# show all available utility functions by category
pf.show_util_func_by_category()

# show all available utility functions by keywords
pf.show_util_func_by_keyword()

# show all available functions by keyword in func_name
pf.find_util_func_by_keyword("show")

```

## Community and Support

We welcome and encourage developers to contribute their valuable utility functions to pyufunc by submitting pull requests on [Pyufunc GitHub Repository](https://github.com/xyluo25/pyufunc), helping to enrich the package and benefit the wider Python community.

Small improvements or fixes are always appreciated. If you are considering larger contributions to the source code, please contact us through email:

- Xiangyong (Roy) Luo: [luoxiangyong01@gmail.com](mailto:luoxiangyong01@gmail.com)
- Dr. Xuesong Simon Zhou: [xzhou74@asu.edu](mailto:xzhou74@asu.edu)

Writing code isn't the only way to contribute to pyufunc. You can also:

- review pull requests
- help us stay on top of new and old issues
- develop tutorials, presentations, and other educational materials
- develop graphic design for our brand assets and promotional materials
- translate website content
- help with outreach and onboard new contributors
- write grant proposals and help with other fundraising efforts

For more information about the ways you can contribute to pyufunc, visit [Pyufunc GitHub](https://github.com/xyluo25/pyufunc). If you' re unsure where to start or how your skills fit in, reach out! You can ask by opening a new issue or leaving a comment on a relevant issue that is already open on GitHub.

## Comprehensive Review of Utility Function Packages

- [utility_function_package_review.md](https://github.com/xyluo25/pyufunc/blob/main/docs/md_files/utility_function_pkg_review.md)

## How to Cite

If you use pyufunc in your work and research, please use the following entry:

- Luo, X.Y. and Zhou, X.S. (2024, February 18). pyufunc: A powerful toolkit of Python utility functions. Retrieved from https://github.com/xyluo25/pyufunc

## ACKNOWLEDGMENT

This open-source package is supported by National Science Foundation under grant no. TIP-2303748 titled, "[POSE: Phase II: CONNECT: Consortium of Open-source Planning Models for Next-generation Equitable and Efficient Communities and Transportation](https://www.nsf.gov/awardsearch/showAward?AWD_ID=2303748&HistoricalAwards=false)"

Thank you to everyone who has contributed to the list of packages mentioned above. Your contributions have significantly enriched our open-source community. If any code violates your licensing agreements, please don't hesitate to [Contact Developers](mailto:luoxiangyong01@gmail.com).
