Skip to main content

jiveapi python package

travis-ci for master branch sphinx documentation for latest release Project Status: Unsupported – The project has reached a stable, usable state but the author(s) have ceased all work on it. A new maintainer may be desired.

Simple and limited Python client for Jive collaboration software ReST API v3, along with utilities for massaging HTML to display better on Jive. Also comes pre-installed in a Docker image and a Sphinx theme and builder for Jive-optimized HTML output.

Note: Full documentation is hosted at: jiveapi.readthedocs.io. This README is just a short introduction.

Scope and Status

This project is effectively abandoned/unsupported and needs a new maintainer! My employer to longer uses Jive, so I’m no longer using this project and also have no way of testing it. If you are interested in taking over as maintainer, please open an issue!

I’m writing this to be a working Python wrapper around a small portion of the Jive ReST API - specifically, uploading/publishing updating Documents, uploading embedded Images, and manipulating the input HTML to display better in Jive. I’m doing this in my personal time, but we’ll be using the project at work for a very limited requirement: “syndicating” documentation that we publish on internal web servers (mostly Sphinx and Hugo static sites) to our corporate Jive instance. The main purpose for doing this is to reach a wider audience and for searchability, not to faithfully reproduce the layout and styling of the original HTML. I don’t plan on adding support beyond what’s required for that, but contributions are welcome.

This has been in use daily at my current employer for almost a year. It’s stable for the particular way we use it, but some code paths may not have been fully exercised before.

Also be aware that Jive heavily modifies HTML, including stripping out and sometimes replacing id attributes, breaking any internal anchor links containing dashes, etc. The high-level methods in this package make a best effort to modify HTML to work in Jive, but nothing is guaranteed. Once again, this is focused on content not presentation.

Supported Actions

  • Low-level API (direct interface to Jive API calls)

  • High-level wrapper API (provides assistance with generating parameters and massaging content):

    • Create and Update HTML Documents given HTML content and some parameters, including most of the common parameters such as the place to post in, visibility, published/draft status, and keywords.

    • Not Yet Implemented: Create and Update HTML Posts given HTML content and some parameters, including most of the common parameters such as the place to post in, visibility, published/draft status, and keywords.

    • Modify HTML formatting to use Jive UI conventions (“jive-ize” HTML).

    • Given a HTML string that contains image tags referring to local images and the filesystem path containing the images, upload each of them to Jive and modify the HTML to point to the images’ Jive URLs. Return metadata about the content and images to the user for future updates. Use this metadata on future updates to prevent re-uploading the same image.

    • Option to modify HTML to insert Jive-style information/notice boxes as header and footer, such as information reminding users not to edit the document directly on Jive and giving links to the canonical source, commit, and build that last generated the content.

    • Option to add a Jive Table of Contents macro to the beginning of the content.

  • jiveapi also includes a basic Sphinx theme (called jiveapi) and Builder (also called jiveapi) optimized for building single-page HTML for uploading to Jive.

Requirements

jiveapi is also available in a self-contained Docker image with all dependencies. See https://hub.docker.com/r/jantman/jiveapi/.

  • Python 3.5+. Yes, this package is only developed and tested against Python3, specifically 3.5 or later. It should work under 2.7 as well, but that is neither tested nor supported.

  • requests

  • premailer (optional, only required for high-level JiveContent interface)

  • lxml (optional, only required for high-level JiveContent interface)

Usage

See the full documentation at: http://jiveapi.readthedocs.io/

License

This software is licensed under the Affero General Public License, version 3 or later. If you’re not redistributing or modifying this software, compliance with the license is simple: make sure anyone interacting with it (even remotely over a network) is informed of where the source code can be downloaded (the project URL in the Python package, or the jiveapi.version.PROJECT_URL string constant). If you intend on modifying it, the user must have a way of retrieving the exact running source code. If you’re intending on distributing it outside your company, please read the full license and consult your legal counsel or Open Source Compliance policy.

Metadata

Release files for jiveapi 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jiveapi 1.0.0
File Size Uploaded Provenance Actions
jiveapi-1.0.0.tar.gz 50.6 kB Without provenance Details for jiveapi-1.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for jiveapi 1.0.0
File Interpreter ABI Platform Actions
jiveapi-1.0.0-py2.py3-none-any.whl Python 3, Python 2 none any Details for jiveapi-1.0.0-py2.py3-none-any.whl

Total release size: 107.6 kB

Release files / jiveapi-1.0.0.tar.gz

Download URL jiveapi-1.0.0.tar.gz
Size 50.6 kB
Tags Source
SHA-256 checksum
How to use checksums
608c88fc47391d7570966c5950c4b10cb5a2abda93a838b259804f5cd93e4113
BLAKE2b-256 checksum
How to use checksums
97cca30dfb0a189c4f62718546d77da4a41765649dae12f542edd7352c4a166e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/38.2.4 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.3

Release files / jiveapi-1.0.0-py2.py3-none-any.whl

Download URL jiveapi-1.0.0-py2.py3-none-any.whl
Size 57.0 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
69753f958d16aae4d32e415c2eb17c8ac45e62e0f2a1d3708dba16ea69a9408f
BLAKE2b-256 checksum
How to use checksums
e0b58de02f7985d81df983e281919623d824730864b85a7937f1ab2f283c7fa0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/38.2.4 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.3

Security for jiveapi 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page