user29: Is anyone familiar with any open source chess libraries in any language that can do any of the following:

parse PGNs and/or FENs
calculate valid chess moves based on position
process an entire chess game

EDIT:
Sorry, I should be more clear. I'm not looking for open source software, I'm looking for open source programming libraries.

user65: Stockfish
Stockfish (website and github) is an open source and very strong UCI engine. As such it can do all you are asking for, but usually requires a GUI in order to do so. You can however access all functionality via a command prompt/shell as well.

user1025: PyChess
Is a chess client built in Python. You can use it's chess logic libraries without much trouble.

http://code.google.com/p/pychess/source/browse/utilities/arena.py
http://code.google.com/p/pychess/source/browse/utilities/blunders.py

Are examples of how you you might use the libraries to control chess engines, but you can also use just the chess logic:
from pychess.Utils.Board import Board
from pychess.Utils.lutils.lmove import toSAN
from pychess.Utils.lutils.lmovegen import genAllMoves
board = Board(setup=True).board
for move in genAllMoves (board):
    print (toSAN (board, move)))

It's very fast, since it's used for the built in engine, and it has many advanced features such as parsing long list of SAN moves, generating check evasions and static exchange evaluation (SEE).

user56: Crafty
Crafty is a strong chess programm and can be used with Winboard, Xboard and Scid. So it is available for all major operating systems.
Scid
Scid can maintain databases of chess games, you can analyse (end) games.The software is available for all major operating systems.
Xboard
Xboard is a user interface to the Internet Chess Server. It uses the X Windows System, so I assume this runs only under GNU/Linux. Xboard can be used as a viewer and supports all forms of chess.

29: <p>Is anyone familiar with any open source chess libraries in any language that can do any of the following:</p>

<ul>
<li>parse PGNs and/or FENs</li>
<li>calculate valid chess moves based on position</li>
<li>process an entire chess game</li>
</ul>

<p>EDIT:</p>

<p>Sorry, I should be more clear. I'm not looking for open source software, I'm looking for open source programming libraries.</p>
 65: <h1>Stockfish</h1>

<p>Stockfish (<a href="http://www.stockfishchess.com/">website</a> and <a href="https://github.com/mcostalba/Stockfish">github</a>) is an open source and very strong <a href="http://en.wikipedia.org/wiki/Universal_Chess_Interface">UCI engine</a>. As such it can do all you are asking for, but usually requires a GUI in order to do so. You can however access all functionality via a command prompt/shell as well.</p>
 1025: <h1><a href="http://pychess.org/">PyChess</a></h1>

<p>Is a chess client built in Python. You can use it's chess logic libraries without much trouble.</p>

<ul>
<li><a href="http://code.google.com/p/pychess/source/browse/utilities/arena.py">http://code.google.com/p/pychess/source/browse/utilities/arena.py</a></li>
<li><a href="http://code.google.com/p/pychess/source/browse/utilities/blunders.py">http://code.google.com/p/pychess/source/browse/utilities/blunders.py</a></li>
</ul>

<p>Are examples of how you you might use the libraries to control chess engines, but you can also use just the chess logic:</p>



<pre><code>from pychess.Utils.Board import Board
from pychess.Utils.lutils.lmove import toSAN
from pychess.Utils.lutils.lmovegen import genAllMoves
board = Board(setup=True).board
for move in genAllMoves (board):
    print (toSAN (board, move)))
</code></pre>

<p>It's very fast, since it's used for the built in engine, and it has many advanced features such as parsing long list of SAN moves, generating check evasions and static exchange evaluation (SEE).</p>
 56: <h1>Crafty</h1>

<p><a href="http://www.craftychess.com/">Crafty</a> is a strong chess programm and can be used with Winboard, Xboard and Scid. So it is available for all major operating systems.</p>

<h1>Scid</h1>

<p><a href="http://scid.sf.net/">Scid</a> can maintain databases of chess games, you can analyse (end) games.The software is available for all major operating systems.</p>

<h1>Xboard</h1>

<p><a href="http://savannah.gnu.org/projects/xboard/">Xboard</a> is a user interface to the Internet Chess Server. It uses the X Windows System, so I assume this runs only under GNU/Linux. Xboard can be used as a viewer and supports all forms of chess.</p>
