Giter Club home page Giter Club logo

reader's Introduction

Real Python Feed Reader

The Real Python Feed Reader is a basic web feed reader that can download the latest Real Python tutorials from the Real Python feed.

For more information see the tutorial How to Publish an Open-Source Python Package to PyPI on Real Python.

Installation

You can install the Real Python Feed Reader from PyPI:

python -m pip install realpython-reader

The reader is supported on Python 3.7 and above. Older versions of Python, including Python 2.7, are supported by version 1.0.0 of the reader.

How to use

The Real Python Feed Reader is a command line application, named realpython. To see a list of the latest Real Python tutorials, call the program without any arguments:

$ realpython
The latest tutorials from Real Python (https://realpython.com/)
 0 How to Publish an Open-Source Python Package to PyPI
 1 Python "while" Loops (Indefinite Iteration)
 2 Writing Comments in Python (Guide)
 3 Setting Up Python for Machine Learning on Windows
 4 Python Community Interview With Michael Kennedy
 5 Practical Text Classification With Python and Keras
 6 Getting Started With Testing in Python
 7 Python, Boto3, and AWS S3: Demystified
 8 Python's range() Function (Guide)
 9 Python Community Interview With Mike Grouchy
10 How to Round Numbers in Python
11 Building and Documenting Python REST APIs With Flask and Connexion โ€“ Part 2
12 Splitting, Concatenating, and Joining Strings in Python
13 Image Segmentation Using Color Spaces in OpenCV + Python
14 Python Community Interview With Mahdi Yusuf
15 Absolute vs Relative Imports in Python
16 Top 10 Must-Watch PyCon Talks
17 Logging in Python
18 The Best Python Books
19 Conditional Statements in Python

To read one particular tutorial, call the program with the numerical ID of the tutorial as a parameter:

$ realpython 0
# How to Publish an Open-Source Python Package to PyPI

Python is famous for coming with batteries included. Sophisticated
capabilities are available in the standard library. You can find modules for
working with sockets, parsing CSV, JSON, and XML files, and working with
files and file paths.

However great the packages included with Python are, there are many
fantastic projects available outside the standard library. These are most
often hosted at the Python Packaging Index (PyPI), historically known as the
Cheese Shop. At PyPI, you can find everything from Hello World to advanced
deep learning libraries.

[... The full text of the article ...]

You can also call the Real Python Feed Reader in your own Python code, by importing from the reader package:

>>> from reader import feed
>>> feed.get_titles()
['How to Publish an Open-Source Python Package to PyPI', ...]

reader's People

Contributors

dbader avatar gahjelle avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

reader's Issues

the error of pyinstaller: error: argument --add-data: invalid add_data_or_binary value: 'reader\\config.cfg:reader'

Hello, I am trying to follow the tutorial of using pyinstaller to build executable python file. But I got the following error message

C:\Users\SDE\python\pyinstaller\reader-master>pyinstaller cli.py --add-data reader\config.cfg:reader
usage: pyinstaller [-h] [-v] [-D] [-F] [--specpath DIR] [-n NAME] [--add-data <SRC;DEST or SRC:DEST>] [--add-binary <SRC;DEST or SRC:DEST>] [-p DIR] [--hidden-import MODULENAME] [--collect-submodules MODULENAME]
                   [--collect-data MODULENAME] [--collect-binaries MODULENAME] [--collect-all MODULENAME] [--copy-metadata PACKAGENAME] [--recursive-copy-metadata PACKAGENAME] [--additional-hooks-dir HOOKSPATH]
                   [--runtime-hook RUNTIME_HOOKS] [--exclude-module EXCLUDES] [--key KEY] [--splash IMAGE_FILE] [-d {all,imports,bootloader,noarchive}] [-s] [--noupx] [--upx-exclude FILE] [-c] [-w]
                   [-i <FILE.ico or FILE.exe,ID or FILE.icns or "NONE">] [--disable-windowed-traceback] [--version-file FILE] [-m <FILE or XML>] [-r RESOURCE] [--uac-admin] [--uac-uiaccess] [--win-private-assemblies]
                   [--win-no-prefer-redirects] [--osx-bundle-identifier BUNDLE_IDENTIFIER] [--target-architecture ARCH] [--codesign-identity IDENTITY] [--osx-entitlements-file FILENAME] [--runtime-tmpdir PATH]
                   [--bootloader-ignore-signals] [--distpath DIR] [--workpath WORKPATH] [-y] [--upx-dir UPX_DIR] [-a] [--clean] [--log-level LEVEL]
                   scriptname [scriptname ...]
pyinstaller: error: argument --add-data: invalid add_data_or_binary value: 'reader\\config.cfg:reader'

typing library no longer supported by PyInstaller

I was following along with the PyInstaller tutorial that goes along with this project, and I received an error.

$pyinstaller cli.py --onefile
The 'typing' package is an obsolete backport of a standard library package and is incompatible with PyInstaller. Please conda remove t>yping then try again.

I was able to use pip uninstall typing to remove typing, and then PyInstaller was able to create the executable, but the executable fails.

Here is the traceback when I ran the executable from the command line.

$cli.exe
Traceback (most recent call last):
  File "C:\Users\<user>\Downloads\Test2\reader\cli.py", line 1, in <module>
    from reader.__main__ import main
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
  File "reader\__init__.py", line 22, in <module>
  File "configparser.py", line 782, in get
  File "configparser.py", line 1153, in _unify_values
configparser.NoSectionError: No section: 'feed'
[244572] Failed to execute script 'cli' due to unhandled exception!

Link to PyInstaller tutorial:
https://realpython.com/pyinstaller-python/#debugging-pyinstaller-executables

Here is my environment after I removed typing:

# packages in environment at C:\Users\<user>\Anaconda3\envs\test:
#
# Name                    Version                   Build  Channel
altgraph                  0.17               pyhd3eb1b0_0
bzip2                     1.0.8                he774522_0
ca-certificates           2022.4.26            haa95532_0
certifi                   2020.6.20          pyhd3eb1b0_3
feedparser                6.0.8                    pypi_0    pypi
future                    0.18.2          py310haa95532_1
html2text                 2020.1.16                pypi_0    pypi
importlib-resources       5.7.1                    pypi_0    pypi
libffi                    3.4.2                h604cdb4_1
macholib                  1.14               pyhd3eb1b0_1
openssl                   1.1.1o               h2bbff1b_0
pefile                    2019.4.18                  py_0
pip                       21.2.4          py310haa95532_0
pycryptodome              3.12.0          py310h2bbff1b_0
pyinstaller               4.8             py310h8cc25b3_0
python                    3.10.4               hbb2ffb3_0
pywin32                   302             py310h2bbff1b_2
pywin32-ctypes            0.2.0           py310haa95532_1000
realpython-reader         1.0.0                    pypi_0    pypi
setuptools                61.2.0          py310haa95532_0
sgmllib3k                 1.0.0                    pypi_0    pypi
sqlite                    3.38.3               h2bbff1b_0
tk                        8.6.11               h2bbff1b_1
tzdata                    2022a                hda174b7_0
vc                        14.2                 h21ff451_1
vs2015_runtime            14.27.29016          h5e58377_2
wheel                     0.37.1             pyhd3eb1b0_0
wincertstore              0.2             py310haa95532_2
xz                        5.2.5                h8cc25b3_1
zlib                      1.2.12               h8cc25b3_2

How to make imports that works locally and once the package is installed?

Hello,

I wanted to publish my package so I found this article along with this example repository. I consider running my program locally for development purpose then publish it but I have an issue with the import statements. Either the import will be good to run it during development and break once the package is installed using $ pip install (ModuleNotFoundError: No module named 'xxx') or the other way around (using relative path).

Is there a way or should I rename each import before packaging?


Using this repository example, what would be the way to run it directly locally? $ python reader/__main__.py throws ModuleNotFoundError: No module named 'reader'. Let's imagine that someone wants to extend the code, they would have to run the code locally along during the programming stage, is it possible?

Thank you.

Unable to retrieve feeds

I'm using Python 3.6.6 on Mac OS and see the following error when running the realpython script:

Traceback (most recent call last):
  File "/Users/durden/.virtualenvs/reader/lib/python3.6/site-packages/feedparser.py", line 398, in __getattr__
    return self.__getitem__(key)
  File "/Users/durden/.virtualenvs/reader/lib/python3.6/site-packages/feedparser.py", line 356, in __getitem__
    return dict.__getitem__(self, key)
KeyError: 'title'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/Users/durden/Documents/work/real_python/pyinstaller/reader/reader/__main__.py", line 84, in <module>
    main()
  File "/Users/durden/Documents/work/real_python/pyinstaller/reader/reader/__main__.py", line 78, in main
    site = feed.get_site(url=url)
  File "/Users/durden/Documents/work/real_python/pyinstaller/reader/reader/feed.py", line 25, in get_site
    return u"{info.title} ({info.link})".format(info=info)
  File "/Users/durden/.virtualenvs/reader/lib/python3.6/site-packages/feedparser.py", line 400, in __getattr__
    raise AttributeError("object has no attribute '%s'" % key)
AttributeError: object has no attribute 'title'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.