Here's a sample script that calculates the sun's declination on 2016/7/23 at 00:00:00 GMT using both PyEphem and Skyfield:
import ephem
sun1 = ephem.Sun('2016/7/23 00:00:00')
dec1 = sun1.dec
print 'PyEphem Declination:', dec1
#-------------------------------------
from skyfield.api import load
planets = load('de421.bsp')
earth = planets['earth']
sun2 = planets['sun']
ts = load.timescale()
time2 = ts.utc(2016, 7, 23)
dec2 = earth.at(time2).observe(sun2).apparent().radec()[1]
print 'Skyfield Declination:', dec2
When I run this I get:
PyEphem Declination: 20:01:24.0
Skyfield Declination: +20deg 04' 30.0"
The Nautical Almanac gives 20deg 01.4' for that time. I'm not sure what I'm doing incorrectly to cause this discrepancy. Thanks!
P.S. I'm using Python 2.7, and Skyfield 0.8.