For the client side, as a built-in option you'd use urllib.request
module. For an even higher-level client, try requests. It is quite intuitive and easy to use/install.
For the server side, I'll recommend you to use a small web framework like Flask, Bottle or Tornado. These ones are quite easy to use, and lightweight.
For example, a small client-side code to send the post variable foo
using requests would look like this:
import requests
r = requests.post("http://yoururl/post", data={'foo': 'bar'})
# And done.
print(r.text) # displays the result body.
And a server-side code to receive and use the POST request using flask would look like this:
from flask import Flask, request
app = Flask(__name__)
@app.route('/', methods=['POST'])
def result():
print(request.form['foo']) # should display 'bar'
return 'Received !' # response to your request.
This is the simplest & quickest way to send/receive a POST request using python.