Description
The Salt documentation and community references mention
saltipy as a Python client for salt-api. However saltipy
is no longer available on PyPI and appears to be abandoned.
Users following Salt documentation cannot install saltipy
and have no clear guidance on what to use instead.
This was discovered while testing salt-api authentication
on Windows 11 with Python 3.13.
Verified Environment
Steps to Reproduce
- Follow Salt documentation to install Python client
- Attempt to install saltipy on Windows:
pip install saltipy
- Result:
ERROR: Could not find a version that satisfies
the requirement saltipy (from versions: none)
ERROR: No matching distribution found for saltipy
Expected Result
saltipy installs successfully and connects to salt-api
Actual Result
saltipy is completely unavailable on PyPI
No alternative is mentioned in official Salt documentation
Investigation
Searched PyPI for saltipy:
- Package does not exist on PyPI
- Last known version was removed
- Repository appears abandoned
- No maintenance or updates
Tested salt-pepper as alternative:
pip install salt-pepper
Result: Installed successfully ✅
Connected to salt-api using salt-pepper:
import pepper
api = pepper.Pepper('http://SALT-API-HOST:8000')
result = api.login('saltapi', 'password', 'pam')
print('Token:', result['token'])
print('User:', result['user'])
print('Permissions:', result['perms'])
Result: Connected and authenticated successfully ✅
Comparison
|
saltipy |
salt-pepper |
| Available on PyPI |
❌ No |
✅ Yes |
| Last updated |
❌ Abandoned |
✅ Active |
| Salt 3008 compatible |
❌ Unknown |
✅ Yes |
| Windows compatible |
❌ Unknown |
✅ Yes |
| Python 3.13 compatible |
❌ Unknown |
✅ Yes |
| Official Salt client |
❌ No |
✅ Yes |
Impact
- Windows users cannot find a working Python client
- Documentation leads users to a dead end
- No clear error message explaining the situation
- Users waste time trying to install unavailable package
- Affects any new Salt user trying to use Python client
Suggested Fix
-
Update official Salt documentation to recommend
salt-pepper instead of saltipy
-
Add clear note that saltipy is abandoned
-
Add salt-pepper example to official docs:
Install the recommended Python client
pip install salt-pepper
Connect to salt-api
import pepper
api = pepper.Pepper('http://your-salt-master:8000')
Login with PAM authentication
result = api.login('username', 'password', 'pam')
token = result['token']
Run a command on all minions
response = api.local('*', 'test.ping')
- Consider adding salt-pepper to official
Salt documentation as the standard Python client
Related
Description
The Salt documentation and community references mention
saltipy as a Python client for salt-api. However saltipy
is no longer available on PyPI and appears to be abandoned.
Users following Salt documentation cannot install saltipy
and have no clear guidance on what to use instead.
This was discovered while testing salt-api authentication
on Windows 11 with Python 3.13.
Verified Environment
Steps to Reproduce
pip install saltipy
ERROR: Could not find a version that satisfies
the requirement saltipy (from versions: none)
ERROR: No matching distribution found for saltipy
Expected Result
saltipy installs successfully and connects to salt-api
Actual Result
saltipy is completely unavailable on PyPI
No alternative is mentioned in official Salt documentation
Investigation
Searched PyPI for saltipy:
Tested salt-pepper as alternative:
pip install salt-pepper
Result: Installed successfully ✅
Connected to salt-api using salt-pepper:
import pepper
api = pepper.Pepper('http://SALT-API-HOST:8000')
result = api.login('saltapi', 'password', 'pam')
print('Token:', result['token'])
print('User:', result['user'])
print('Permissions:', result['perms'])
Result: Connected and authenticated successfully ✅
Comparison
Impact
Suggested Fix
Update official Salt documentation to recommend
salt-pepper instead of saltipy
Add clear note that saltipy is abandoned
Add salt-pepper example to official docs:
Install the recommended Python client
pip install salt-pepper
Connect to salt-api
import pepper
api = pepper.Pepper('http://your-salt-master:8000')
Login with PAM authentication
result = api.login('username', 'password', 'pam')
token = result['token']
Run a command on all minions
response = api.local('*', 'test.ping')
Salt documentation as the standard Python client
Related