Python wrappers for PHP functions, when you just can't shake it.
Project description
wraphper
Python wrappers for PHP functions, when you just can't shake it.
Why?
If you're coming from PHP, you'll take a bit of time getting used to the new names or methods in Python. You could look up something like "python str_replace"
everytime you want to do so, or you could just save time and use php.str_replace('Hello', 'Goodbye', 'Hello, world!')
.
Why not?
Installation
Pip it.
$ pip install wraphper
Usage
Import the module and then fulfil your PHP fantasies in Python:
import wraphper as php
a = [1, 2, 3]
php.count(a)
# outputs: 3
Supported functions
This module is a work in progress. Not all functions are supported yet. The current list includes:
PRs with more functions are welcome!
Performance and Security
wraphper doesn't internally call PHP to run these functions, it simply provides you a PHP-like function name that runs the Python equivalent. As such, performance is unaffected because only Python is running.
Similarly, there are no implications of this on security.
Contributing
Follow these rules with contributed functions:
- The function must be an native PHP function, not from a third-party library.
- The name of the function must match the original exactly. Otherwise, the purpose of this module is defeated.
- The function should take the exact same number of arguments as the original.
- The argument types must match the PHP types as closely as possible, so
string
isstr
,int
isint
,array
islist
ordict
, etc. - The function must throw an appropriate exception with the exact same error message from the PHP function.
- The function should avoid any pre- or post-processing of the argument or return value. The goal is not to match PHP functions' inputs and outputs, but to provide a PHP-familiar syntax for Python developers.
Testing
Tests can be run by the following command:
$ python tests.py
Compatibility
wraphper has been checked with Python 2.7 and 3.6, but there's no reason why it shouldn't work with older versions.
Changelog
0.0.2 - 2019-01-29
- Added
str_replace
0.0.1.post2 - 2019-01-28
- BREAKING Removed class to make it easier to import and use
- Added tuple support
- Added more tests
- Added changelog
0.0.1.post1 - 2019-01-26
- Added tests
0.0.1 - 2019-01-26
- Initial release with
count
function
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.