a first step towards publishing on pypi (so that one can install this using pip insta...
authorThierry Parmentelat <thierry.parmentelat@inria.fr>
Mon, 15 Sep 2014 14:14:12 +0000 (16:14 +0200)
committerThierry Parmentelat <thierry.parmentelat@inria.fr>
Mon, 15 Sep 2014 14:14:12 +0000 (16:14 +0200)
Makefile
README.md
readme.py [new file with mode: 0755]
setup.cfg [new file with mode: 0644]
setup.py

index 76392a9..bbdb831 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -22,6 +22,10 @@ rpmtaglevel:=$(shell rpm -q --specfile sfa.spec --queryformat="%{release}\n" 2>
 VERSIONTAG=$(rpmversion)-$(rpmtaglevel)
 # this used to be 'should-be-redefined-by-specfile' and it indeed should be
 SCMURL=git://git.onelab.eu/sfa.git
+TARBALL_HOST=root@build.onelab.eu
+TARBALL_TOPDIR=/build/sfa
+# I have an alternate pypitest entry defined in my .pypirc
+PYPI_ARGS= -r pypi
 
 python: version
 
@@ -137,6 +141,32 @@ signatures:
        (cd sfa/methods; grep 'def.*call' *.py > SIGNATURES)
 .PHONY: signatures
 
+########## for uploading onto pypi
+# a quick attempt on pypitest did not quite work as expected
+# I was hoping to register the project using "setup.py register"
+# but somehow most of my meta data did not make it up there
+# and I could not find out why
+# so I went for the manual method instead
+# there also was a web dialog prompting for a zip file that would
+# be used to initialize the project's home dir but this too 
+# did not seem to work the way I was trying to use it, so ...
+
+# this target is still helpful to produce the readme in html from README.md
+index.zip: README.md
+       python readme.py
+
+# I need to run this on my mac as my pypi
+pypi: version
+       setup.py sdist upload $(PYPI_ARGS)
+       ssh $(TARBALL_HOST) mkdir -p $(TARBALL_TOPDIR)/$(VERSIONTAG)
+       rsync -av dist/sfa-$(VERSIONTAG).tar.gz $(TARBALL_HOST):$(TARBALL_TOPDIR)/$(VERSIONTAG)
+
+# cleanup
+clean: readme-clean
+
+readme-clean:
+       rm -f index.html index.zip
+
 ########## sync
 # 2 forms are supported
 # (*) if your plc root context has direct ssh access:
index 77e9e9b..5fd0f07 100644 (file)
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@ Purpose
 
 This software implements a wrapper for the SFA (Slice-based Federation
 Architecture) that allows networking testbeds to interoperate in terms
-of exposing and provisioning resources. It comes with some drivers for
+of exposing and provisioning resources. It comes with drivers for
 a few testbeds, notably PlanetLab and IotLab.
 
 References
diff --git a/readme.py b/readme.py
new file mode 100755 (executable)
index 0000000..dd2ed9c
--- /dev/null
+++ b/readme.py
@@ -0,0 +1,28 @@
+#!/usr/bin/env python
+
+from __future__ import print_function
+
+from argparse import ArgumentParser
+
+# sudo pip install markdown
+import markdown 
+import zipfile
+
+usage="transform README.md into index.html and zip into index.zip"
+parser = ArgumentParser(usage=usage)
+args = parser.parse_args()
+
+input="README.md"
+output="index.html"
+zipped="index.zip"
+
+with open(output,"w") as o:
+    with open(input) as i:
+        html = markdown.markdown (i.read())
+        o.write(html)
+print ("(Over)written {}".format(output))
+
+with zipfile.ZipFile(zipped,'w') as z:
+    z.write(output)
+print ("(Over)written {}".format(zipped))
+
diff --git a/setup.cfg b/setup.cfg
new file mode 100644 (file)
index 0000000..524b905
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,4 @@
+[metadata]
+summary = An SFA Wrapper together with drivers for PlanetLab and IotLab and others
+description-file = README.md
+license = LICENSE.txt
index b509443..4bd4583 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -4,6 +4,10 @@
 Installation script for the sfa module
 """
 
+# as fas as pushing onto pypi, I have been using this page
+# http://peterdowns.com/posts/first-time-with-pypi.html
+# for setting up the whole business
+
 import sys, os, os.path
 from glob import glob
 import shutil
@@ -115,9 +119,12 @@ else:
     setup(name='sfa',
           packages = packages,
           data_files = data_files,
-          scripts = scripts,
+          version=version_tag,
+          keywords = ['federation','testbeds','SFA','SfaWrap'],
           url="http://svn.planet-lab.org/wiki/SFATutorial",
           author="Thierry Parmentelat, Tony Mack, Scott Baker",
           author_email="thierry.parmentelat@inria.fr, tmack@princeton.cs.edu, smbaker@gmail.com",
-          version=version_tag)
+          download_url = "http://build.onelab.eu/sfa/{v}/sfa-{v}.tar.gz".format(v=version_tag),
+          scripts = scripts,
+)